Udostępnij za pośrednictwem


Enumerable.Take Metoda

Definicja

Przeciążenia

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

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, z których mają być zwracane elementy.

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 wejściowej.

Wyjątki

source to null.

Przykłady

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

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 za pomocą odroczonego wykonania. Bezpośrednio zwracana wartość jest obiektem, który przechowuje wszystkie informacje wymagane do wykonania akcji. Zapytanie reprezentowane przez tę metodę nie jest wykonywane, dopóki obiekt nie zostanie wyliczone przez wywołanie metody GetEnumerator bezpośrednio lub przy użyciu foreach języka C# lub For Each w Visual Basic.

Takesource Wylicza i daje elementy do momentu count uzyskania elementów lub source nie zawiera więcej elementów. Jeśli count parametr przekracza 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 nliczbę całkowitą, łączenie wyników coll.Take(n) i coll.Skip(n) zwraca tę samą sekwencję co coll.

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

Zobacz też

Dotyczy

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

Ź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, z których mają być zwracane elementy.

range
Range

Zakres elementów do zwrócenia, który ma 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

source to null.

Uwagi

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

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

Dotyczy