Enumerable.Take Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
Take<TSource>(IEnumerable<TSource>, Int32) |
Restituisce un numero specificato di elementi contigui dall'inizio di una sequenza. |
Take<TSource>(IEnumerable<TSource>, Range) |
Restituisce un intervallo specificato di elementi contigui da una sequenza. |
Take<TSource>(IEnumerable<TSource>, Int32)
- Origine:
- Take.cs
- Origine:
- Take.cs
- Origine:
- Take.cs
Restituisce un numero specificato di elementi contigui dall'inizio di una sequenza.
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)
Parametri di tipo
- TSource
Tipo degli elementi di source
.
Parametri
- source
- IEnumerable<TSource>
Sequenza dalla quale vengono restituiti gli elementi.
- count
- Int32
Numero di elementi da restituire.
Restituisce
Oggetto IEnumerable<T> che contiene il numero specificato di elementi, dall'inizio della sequenza di input.
Eccezioni
source
è null
.
Esempio
Nell'esempio di codice seguente viene illustrato come usare Take per restituire elementi dall'inizio di una sequenza.
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
Commenti
Questo metodo viene implementato usando l'esecuzione posticipata. Il valore restituito immediato è un oggetto che archivia tutte le informazioni necessarie per eseguire l'azione. La query rappresentata da questo metodo non viene eseguita finché l'oggetto non viene enumerato chiamando il GetEnumerator
relativo metodo direttamente o usando foreach
in C# o For Each
in Visual Basic.
Take enumera e restituisce source
elementi fino a quando count
gli elementi non sono stati restituiti o source
non contengono più elementi. Se count
supera il numero di elementi in source
, vengono restituiti tutti gli elementi di source
.
Se count
è minore o uguale a zero, source
non viene enumerato e viene restituito un vuoto IEnumerable<T> .
I Take metodi e Skip sono complementi funzionali. Dato una sequenza di raccolta e un numero intero , concatenando i risultati di e coll.Skip(n)
restituisce la stessa sequenza coll
di coll.Take(n)
coll
.n
Nella sintassi dell'espressione di query di Visual Basic, una Take
clausola si traduce in una chiamata di Take.
Vedi anche
Si applica a
Take<TSource>(IEnumerable<TSource>, Range)
- Origine:
- Take.cs
- Origine:
- Take.cs
- Origine:
- Take.cs
Restituisce un intervallo specificato di elementi contigui da una sequenza.
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)
Parametri di tipo
- TSource
Tipo degli elementi di source
.
Parametri
- source
- IEnumerable<TSource>
Sequenza dalla quale vengono restituiti gli elementi.
- range
- Range
Intervallo di elementi da restituire, con indici iniziali e finali dall'inizio o dalla fine della sequenza.
Restituisce
Oggetto IEnumerable<T> contenente l'intervallo specificato di elementi dalla source
sequenza.
Eccezioni
source
è null
.
Commenti
Questo metodo viene implementato usando l'esecuzione posticipata. Il valore restituito immediato è un oggetto che archivia tutte le informazioni necessarie per eseguire l'azione. La query rappresentata da questo metodo non viene eseguita finché l'oggetto non viene enumerato chiamando il GetEnumerator
relativo metodo direttamente o usando foreach
in C# o For Each
in Visual Basic.
Take enumera e restituisce source
elementi i cui indici appartengono all'oggetto specificato range
.