Enumerable.Take Yöntem

Tanım

Aşırı Yüklemeler

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

Bir dizinin başlangıcından belirtilen sayıda bitişik öğe döndürür.

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

Bir diziden belirli bir bitişik öğe aralığını döndürür.

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

Kaynak:
Take.cs
Kaynak:
Take.cs
Kaynak:
Take.cs
Kaynak:
Take.cs
Kaynak:
Take.cs

Bir dizinin başlangıcından belirtilen sayıda bitişik öğe döndürür.

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)

Tür Parametreleri

TSource

öğelerinin sourcetürü.

Parametreler

source
IEnumerable<TSource>

Öğelerinin döndürüleceği sıra.

count
Int32

Döndürülecek öğe sayısı.

Döndürülenler

IEnumerable<TSource>

IEnumerable<T> Giriş dizisinin başından itibaren belirtilen sayıda öğeyi içeren.

Özel durumlar

source, null'e eşittir.

Örnekler

Aşağıdaki kod örneği, bir sıranın başlangıcından (sıralandıktan sonra) öğeleri döndürmek için nasıl kullanılacağını Take gösterir.

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

Açıklamalar

Bu yöntem ertelenen yürütme kullanılarak uygulanır. Hemen dönüş değeri, eylemi gerçekleştirmek için gereken tüm bilgileri depolayan bir nesnedir. Bu yöntemle temsil edilen sorgu, nesne doğrudan GetEnumerator yöntemini çağırarak veya C# içinde foreach veya Visual Basic'de For Each kullanılarak numaralandırılana kadar yürütülür.

Takeöğeler teslim edilene veya başka öğe içermeyene kadar source öğeleri numaralandırır count ve source verir. içindeki countöğe sayısını aşarsasource, öğesinin source tüm öğeleri döndürülür.

Sıfırdan küçük veya sıfıra eşitse count numaralandırılmaz source ve boş IEnumerable<T> bir değer döndürülür.

Take ve Skip yöntemleri işlevsel tamamlayıcılardır. Bir koleksiyon dizisi coll ve bir tamsayı verilip nve sonuçlarını coll.Take(n) birleştirir ve coll.Skip(n) ile collaynı diziyi verir.

Visual Basic sorgu ifadesi söz diziminde Take yan tümcesi, Take çağrısına dönüşür.

Ayrıca bkz.

Şunlara uygulanır

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

Kaynak:
Take.cs
Kaynak:
Take.cs
Kaynak:
Take.cs
Kaynak:
Take.cs
Kaynak:
Take.cs

Bir diziden belirli bir bitişik öğe aralığını döndürür.

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)

Tür Parametreleri

TSource

öğelerinin sourcetürü.

Parametreler

source
IEnumerable<TSource>

Öğelerinin döndürüleceği sıra.

range
Range

Dizinin başından veya sonundan başlangıç ve bitiş dizinleri olan döndürülecek öğe aralığı.

Döndürülenler

IEnumerable<TSource>

IEnumerable<T> Diziden source belirtilen öğe aralığını içeren bir.

Özel durumlar

source, null'e eşittir.

Açıklamalar

Bu yöntem ertelenen yürütme kullanılarak uygulanır. Hemen dönüş değeri, eylemi gerçekleştirmek için gereken tüm bilgileri depolayan bir nesnedir. Bu yöntemle temsil edilen sorgu, nesne doğrudan GetEnumerator yöntemini çağırarak veya C# içinde foreach veya Visual Basic'de For Each kullanılarak numaralandırılana kadar yürütülür.

Take dizinleri source belirtilen rangeöğesine ait olan öğeleri numaralandırır ve verir.

Şunlara uygulanır