Enumerable.Skip<TSource>(IEnumerable<TSource>, Int32) メソッド

定義

シーケンス内の指定された数の要素をバイパスし、残りの要素を返します。

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static System::Collections::Generic::IEnumerable<TSource> ^ Skip(System::Collections::Generic::IEnumerable<TSource> ^ source, int count);
public static System.Collections.Generic.IEnumerable<TSource> Skip<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, int count);
static member Skip : seq<'Source> * int -> seq<'Source>
<Extension()>
Public Function Skip(Of TSource) (source As IEnumerable(Of TSource), count As Integer) As IEnumerable(Of TSource)

型パラメーター

TSource

source の要素の型。

パラメーター

source
IEnumerable<TSource>

返される要素が含まれる IEnumerable<T>

count
Int32

残りの要素を返す前にスキップする要素の数。

戻り値

IEnumerable<TSource>

入力シーケンスで指定されたインデックスの後に出現する要素を含む IEnumerable<T>

例外

sourcenull です。

次のコード例では、 を使用 Skip して配列内の指定された数の要素をスキップし、残りの要素を返す方法を示します。

int[] grades = { 59, 82, 70, 56, 92, 98, 85 };

Console.WriteLine("All grades except the first three:");
foreach (int grade in grades.Skip(3))
{
    Console.WriteLine(grade);
}

/*
 This code produces the following output:

All grades except the first three:
 56
 92
 98
 85
*/
' Create an array of integers that represent grades.
Dim grades() As Integer = {59, 82, 70, 56, 92, 98, 85}

' Sort the numbers in descending order and
' get all but the first (largest) three numbers.
Dim skippedGrades As IEnumerable(Of Integer) =
grades _
.Skip(3)

' Display the results.
Dim output As New System.Text.StringBuilder("All grades except the first three are:" & vbCrLf)
For Each grade As Integer In skippedGrades
    output.AppendLine(grade)
Next
Console.WriteLine(output.ToString())

' This code produces the following output:
'
' All grades except the first three are:
' 56
' 92
' 98
' 85

注釈

このメソッドは、遅延実行を使用して実装されます。 即時戻り値は、アクションの実行に必要なすべての情報を格納する オブジェクトです。 このメソッドで表されるクエリは、オブジェクトがメソッドを直接呼び出GetEnumeratorすか、C# または For Each Visual Basic で を使用foreachして列挙されるまで実行されません。

が要素よりcount少ない場合sourceは、空IEnumerable<T>の が返されます。 が 0 以下の場合 count 、 のすべての要素 source が生成されます。

Takeメソッドと Skip メソッドは機能補完です。 コレクション シーケンス coll と整数 nを指定すると、 の結果 coll.Take(n) を連結すると、 と coll.Skip(n) 同じシーケンス collが生成されます。

Visual Basic クエリ式の構文では、 句は SkipSkip呼び出しに変換されます。

適用対象

こちらもご覧ください