string[]のアイテムを特定の文字列の位置に従って並べ替える方法を教えてください。たとえば、次の配列を部分文字列「-」で並べ替えたいとします。
入力:{xx-c、xxxxx-b、yyy-a、mlllll-d}
期待される出力:{yyy --a、xxxxx --b、xx --c、mlllll --d}
私がこれまでに持っているのは次のとおりです。
public string[] SortByStringPos(string[] arr, string str, bool ascending)
{
if (ascending)
{
var result = from s in arr
where s.Length >= s.IndexOf(str)
orderby s[s.IndexOf(str)] ascending
select s;
return result.ToArray();
}
else
{
var result = from s in arr
where s.Length >= s.IndexOf(str)
orderby s[s.IndexOf(str)] descending
select s;
return result.ToArray();
}
}
誰かが私にヒントを落とすことができますか...?