Enumerable.Take Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
Take<TSource>(IEnumerable<TSource>, Int32) |
Gibt eine angegebene Anzahl von zusammenhängenden Elementen ab dem Anfang einer Sequenz zurück |
Take<TSource>(IEnumerable<TSource>, Range) |
Gibt einen angegebenen Bereich zusammenhängender Elemente aus einer Sequenz zurück. |
Take<TSource>(IEnumerable<TSource>, Int32)
Gibt eine angegebene Anzahl von zusammenhängenden Elementen ab dem Anfang einer Sequenz zurück
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)
Typparameter
- TSource
Der Typ der Elemente von source
.
Parameter
- source
- IEnumerable<TSource>
Die Sequenz, aus der Elemente zurückgegeben werden sollen.
- count
- Int32
Die Anzahl der zurückzugebenden Elemente.
Gibt zurück
- IEnumerable<TSource>
Ein IEnumerable<T>, das die angegebene Anzahl von Elementen ab dem Anfang der Eingabesequenz enthält
Ausnahmen
source
ist null
.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie Take Elemente vom Anfang einer Sequenz zurückgegeben werden.
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
Hinweise
Diese Methode wird mithilfe der verzögerten Ausführung implementiert. Der sofortige Rückgabewert ist ein Objekt, das alle Informationen speichert, die zum Ausführen der Aktion erforderlich sind. Die durch diese Methode dargestellte Abfrage wird erst ausgeführt, wenn das Objekt entweder direkt oder in foreach
Visual C# oder For Each
in Visual Basic aufgerufen wirdGetEnumerator
.
Take enumerates source
und gibt Elemente zurück, bis count
Elemente zurückgegeben wurden oder source
keine weiteren Elemente enthalten sind. Wenn count
die Anzahl der Elemente in source
überschritten wird, werden alle Elemente source
zurückgegeben.
Wenn count
kleiner oder gleich Null ist, source
wird nicht aufgezählt, und eine leere IEnumerable<T> wird zurückgegeben.
Skip Die Und Methoden Take sind funktionsbezogene Ergänzungen. Aufgrund einer Auflistungssequenz coll
und einer ganzzahligen n
Verketteung der Ergebnisse coll.Take(n)
und coll.Skip(n)
ergibt die gleiche Sequenz wie coll
.
In Visual Basic Abfrageausdruckssyntax übersetzt eine Take
Klausel in eine Aufrufung.Take
Siehe auch
Gilt für:
Take<TSource>(IEnumerable<TSource>, Range)
Gibt einen angegebenen Bereich zusammenhängender Elemente aus einer Sequenz zurück.
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)
Typparameter
- TSource
Der Typ der Elemente von source
.
Parameter
- source
- IEnumerable<TSource>
Die Sequenz, aus der Elemente zurückgegeben werden sollen.
- range
- Range
Der Bereich der zurückgegebenen Elemente, die Start- und Endindizes entweder vom Anfang oder ende der Sequenz aufweist.
Gibt zurück
- IEnumerable<TSource>
Eine IEnumerable<T> , die den angegebenen Bereich von Elementen aus der source
Sequenz enthält.
Ausnahmen
source
ist null
.
Hinweise
Diese Methode wird mithilfe der verzögerten Ausführung implementiert. Der sofortige Rückgabewert ist ein Objekt, das alle Informationen speichert, die zum Ausführen der Aktion erforderlich sind. Die durch diese Methode dargestellte Abfrage wird erst ausgeführt, wenn das Objekt entweder direkt oder in foreach
Visual C# oder For Each
in Visual Basic aufgerufen wirdGetEnumerator
.
Take Aufzählungen source
und Renditen von Elementen, die zu den angegebenen range
Indizes gehören.