Enumerable.Take Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
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 source
elemecie , 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 n
liczbę 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
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 range
elementu .