私はこのような順序付きリストを持っている:2つに分割してリストを並べ替えるすっきりした方法はありますか?
var list = new List<String>(){"aaa","aab","aac","baa","bab","bac"};
私は2つのサブリストの順序を保持しつつ、半分にリストをカットし、半分の順序を逆にしたいです。私が考えることができる唯一の方法は、次のようなものです:
var list = new List<String>() { "aaa", "aab", "aac", "baa", "bab", "bac" };
int index = list.IndexOf("aac");
var tempList = new List<String>(list.GetRange(index, list.Count - index));
tempList.AddRange(list.GetRange(0, index));
list = tempList;
これは5行と一時変数を要し、とてもうまく見えません。
これを行うにはもっとうまくいく方法がありますか?私はそれがLinqで可能であるべきだと思ったが、それらのメソッドのほとんどは、根底にあるリストの順序を気にしていないようだ。
アイデア?
あなたは 'Take'と' Skip'を試してみましたか? –