【C#】LINQで指定数の要素を取得する方法(Take/Skip)

LINQ(リンク)でリストから指定数の要素を取得するにはTake関数を使います。

よく一緒に使われるSkip関数も紹介します。

Take関数

先頭から指定数の要素を取得します。

要素数以上の数を指定した場合もエラーは出ず、すべての要素が取得されます。

var list = new List<int> { 0, 1, 2, 3, 4, 5 }
list.Take(3);  //[0,1,2]
list.Take(10); //[0,1,2,3,4,5]

Skip関数

先頭から指定数の要素を飛ばし、それ以降の要素を取得します。

要素数以上の数を指定した場合もエラーは出ず、空のリストが帰ってきます。

var list = new List<int> { 0, 1, 2, 3, 4, 5 }
list.Skip(3);  //[3,4,5]
list.Skip(10); //[]

TakeとSkipを組み合わせて任意の範囲の要素を取得

TakeとSkipを組み合わせることで、先頭から○番目から△番目までの要素を取得することができます。

var list = new List<int> { 0, 1, 2, 3, 4, 5 }
list.Skip(2).Take(2);  //[2,3]

コメント