Enumerable.Take Methode

Definition

Ü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 nVerketteung 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 rangeIndizes gehören.

Gilt für: