Enumerable.Take Methode

Definition

Überlädt

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

Gibt eine angegebene Anzahl zusammenhängender Elemente vom 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)

Quelle:
Take.cs
Quelle:
Take.cs
Quelle:
Take.cs
Quelle:
Take.cs
Quelle:
Take.cs

Gibt eine angegebene Anzahl zusammenhängender Elemente vom 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 Element IEnumerable<T> , das die angegebene Anzahl von Elementen vom Anfang der Eingabesequenz enthält.

Ausnahmen

source ist null.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Take Elemente vom Anfang einer Sequenz (nach der Sortierung) 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 aufgezählt wird, indem die GetEnumerator-Methode direkt oder mithilfe von foreach in C# oder For Each in Visual Basic aufgerufen wird.

Take Listet source Elemente auf und ergibt Elemente, bis count Elemente zurückgegeben wurden oder source keine weiteren Elemente enthalten sind. Wenn count die Anzahl der Elemente sourceüberschritten wird, werden alle Elemente source zurückgegeben.

Ist count der Wert kleiner oder gleich Null, source wird nicht aufgezählt, und es wird ein leerer IEnumerable<T> Wert zurückgegeben.

Die Take Und Skip Methoden sind funktionale Ergänzungen. Bei einer Auflistungssequenz coll und einer ganzen Zahl nwerden die Ergebnisse coll.Take(n) verkettet und coll.Skip(n) die gleiche Sequenz zurückgegeben wie coll.

In Visual Basic Abfrageausdruckssyntax übersetzt eine Take-Klausel in einen Aufruf von Take.

Weitere Informationen

Gilt für:

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

Quelle:
Take.cs
Quelle:
Take.cs
Quelle:
Take.cs
Quelle:
Take.cs
Quelle:
Take.cs

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ückzugebenden Elemente, die start- und endindizes entweder vom Anfang oder vom Ende der Sequenz enthält.

Gibt zurück

IEnumerable<TSource>

Ein IEnumerable<T> Element, das 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 aufgezählt wird, indem die GetEnumerator-Methode direkt oder mithilfe von foreach in C# oder For Each in Visual Basic aufgerufen wird.

Take Listet source Elemente auf und liefert Elemente, deren Indizes zum angegebenen rangeGehören.

Gilt für: