Bagikan melalui


Enumerable.Take Metode

Definisi

Overload

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

Mengembalikan jumlah elemen yang bersebelahan yang ditentukan dari awal urutan.

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

Mengembalikan rentang elemen yang bersebelahan yang ditentukan dari urutan.

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

Sumber:
Take.cs
Sumber:
Take.cs
Sumber:
Take.cs

Mengembalikan jumlah elemen yang bersebelahan yang ditentukan dari awal urutan.

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)

Jenis parameter

TSource

Jenis elemen source.

Parameter

source
IEnumerable<TSource>

Urutan untuk mengembalikan elemen dari.

count
Int32

Jumlah elemen yang akan dikembalikan.

Mengembalikan

IEnumerable<TSource>

Yang IEnumerable<T> berisi jumlah elemen yang ditentukan dari awal urutan input.

Pengecualian

sourceadalah null.

Contoh

Contoh kode berikut menunjukkan cara menggunakan Take untuk mengembalikan elemen dari awal urutan.

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

Keterangan

Metode ini diimplementasikan dengan menggunakan eksekusi yang ditangguhkan. Nilai pengembalian langsung adalah objek yang menyimpan semua informasi yang diperlukan untuk melakukan tindakan. Kueri yang diwakili oleh metode ini tidak dijalankan sampai objek dijumlahkan baik dengan memanggil metodenya GetEnumerator secara langsung atau dengan menggunakan foreach di C# atau For Each di Visual Basic.

Takesource menghitung dan menghasilkan elemen sampai count elemen telah dihasilkan atau source tidak berisi elemen lagi. Jika count melebihi jumlah elemen dalam source, semua elemen source dikembalikan.

Jika count kurang dari atau sama dengan nol, source tidak dijumlahkan dan kosong IEnumerable<T> dikembalikan.

Metode Take dan Skip adalah pelengkap fungsi. Mengingat urutan coll koleksi dan bilangan coll.Take(n) bulat n, menggabungkan hasil dan coll.Skip(n) menghasilkan urutan yang sama dengan coll.

Dalam sintaks ekspresi kueri Visual Basic, Take klausa diterjemahkan ke pemanggilan Take.

Lihat juga

Berlaku untuk

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

Sumber:
Take.cs
Sumber:
Take.cs
Sumber:
Take.cs

Mengembalikan rentang elemen yang bersebelahan yang ditentukan dari urutan.

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)

Jenis parameter

TSource

Jenis elemen source.

Parameter

source
IEnumerable<TSource>

Urutan untuk mengembalikan elemen dari.

range
Range

Rentang elemen yang akan dikembalikan, yang memiliki indeks awal dan akhir baik dari awal atau akhir urutan.

Mengembalikan

IEnumerable<TSource>

Yang IEnumerable<T> berisi rentang elemen yang ditentukan dari source urutan .

Pengecualian

sourceadalah null.

Keterangan

Metode ini diimplementasikan dengan menggunakan eksekusi yang ditangguhkan. Nilai pengembalian langsung adalah objek yang menyimpan semua informasi yang diperlukan untuk melakukan tindakan. Kueri yang diwakili oleh metode ini tidak dijalankan sampai objek dijumlahkan baik dengan memanggil metodenya GetEnumerator secara langsung atau dengan menggunakan foreach di C# atau For Each di Visual Basic.

Takesource menghitung dan menghasilkan elemen yang indeksnya termasuk dalam .range

Berlaku untuk