Enumerable.Take Metoda

Definicja

Przeciążenia

Nazwa Opis
Take<TSource>(IEnumerable<TSource>, Int32)

Zwraca określoną liczbę ciągłych elementów od początku sekwencji.

Take<TSource>(IEnumerable<TSource>, Range)

Zwraca określony zakres ciągłych elementów z sekwencji.

Take<TSource>(IEnumerable<TSource>, Int32)

Źródło:
Take.cs
Źródło:
Take.cs
Źródło:
Take.cs
Źródło:
Take.cs
Źródło:
Take.cs

Zwraca określoną liczbę ciągłych elementów od początku sekwencji.

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

Parametry typu

TSource

Typ elementów elementu source.

Parametry

source
IEnumerable<TSource>

Sekwencja zwracania elementów z.

count
Int32

Liczba elementów do zwrócenia.

Zwraca

IEnumerable<TSource>

Element IEnumerable<T> zawierający określoną liczbę elementów od początku sekwencji danych wejściowych.

Wyjątki

Parametr source ma wartość null.

Przykłady

W poniższym przykładzie kodu pokazano, jak używać metody Take do zwracania elementów od początku sekwencji (po posortowanej).

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

IEnumerable<int> topThreeGrades =
    grades.OrderByDescending(grade => grade).Take(3);

Console.WriteLine("The top three grades are:");
foreach (int grade in topThreeGrades)
{
    Console.WriteLine(grade);
}
/*
 This code produces the following output:

 The top three grades are:
 98
 92
 85
*/
' Create an array of Integer values that represent grades.
Dim grades() As Integer = {59, 82, 70, 56, 92, 98, 85}

' Get the highest three grades by first sorting
' them in descending order and then taking the
' first three values.
Dim topThreeGrades As IEnumerable(Of Integer) =
grades _
.OrderByDescending(Function(grade) grade) _
.Take(3)

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

' This code produces the following output:
'
' The top three grades are:
' 98
' 92
' 85

Uwagi

Ta metoda jest implementowana przy użyciu odroczonego wykonania. Natychmiastowa wartość zwracana to obiekt, który przechowuje wszystkie informacje wymagane do wykonania akcji. Zapytanie reprezentowane przez tę metodę nie jest wykonywane, dopóki obiekt nie zostanie wyliczony przez wywołanie metody GetEnumerator bezpośrednio lub przy użyciu foreach w języku C# lub For Each w Visual Basic.

TakeWylicza i zwraca elementy, dopóki source elementy nie zostały zwrócone count lub source nie zawierają więcej elementów. Jeśli count przekroczy liczbę elementów w sourceelemecie , zwracane są wszystkie elementy source .

Jeśli count wartość jest mniejsza niż lub równa zero, source nie jest wyliczana i zwracana jest pusta IEnumerable<T> wartość.

Metody Take i Skip są uzupełnieniem funkcjonalnym. Biorąc pod uwagę sekwencję coll kolekcji i liczbę całkowitą n, łączenie wyników i coll.Take(n)coll.Skip(n) zwraca tę samą sekwencję co coll.

W Visual Basic składni wyrażenia zapytania klauzula Take przekłada się na wywołanie Take.

Zobacz też

Dotyczy

Take<TSource>(IEnumerable<TSource>, Range)

Źródło:
Take.cs
Źródło:
Take.cs
Źródło:
Take.cs
Źródło:
Take.cs
Źródło:
Take.cs

Zwraca określony zakres ciągłych elementów z sekwencji.

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

Parametry typu

TSource

Typ elementów elementu source.

Parametry

source
IEnumerable<TSource>

Sekwencja zwracania elementów z.

range
Range

Zakres elementów do zwrócenia, który zawiera indeksy początkowe i końcowe od początku lub na końcu sekwencji.

Zwraca

IEnumerable<TSource>

Element IEnumerable<T> zawierający określony zakres elementów z source sekwencji.

Wyjątki

Parametr source ma wartość null.

Uwagi

Ta metoda jest implementowana przy użyciu odroczonego wykonania. Natychmiastowa wartość zwracana to obiekt, który przechowuje wszystkie informacje wymagane do wykonania akcji. Zapytanie reprezentowane przez tę metodę nie jest wykonywane, dopóki obiekt nie zostanie wyliczony przez wywołanie metody GetEnumerator bezpośrednio lub przy użyciu foreach w języku C# lub For Each w Visual Basic.

Take source Wylicza i zwraca elementy, których indeksy należą do określonego rangeelementu .

Dotyczy