Enumerable.Take Yöntem

Tanım

Aşırı Yüklemeler

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)

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>

Öğesinden öğe döndürülecek dizi.

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 bir.

Özel durumlar

source, null değeridir.

Örnekler

Aşağıdaki kod örneği, bir dizinin başlangıcından öğ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 ertelenmiş yürütme kullanılarak uygulanır. Anında dönüş değeri, eylemi gerçekleştirmek için gereken tüm bilgileri depolayan bir nesnedir. Bu yöntemle temsil edilen sorgu, doğrudan yöntemini çağırarak GetEnumerator veya C# içinde veya For Each Visual Basic'te kullanarak foreach nesne numaralandırılana kadar yürütülür.

Takeöğeler teslim edilene veya başka öğe içermeyene kadar count öğeleri numaralandırır source ve source verir. içindeki sourceöğe sayısını aşarsa count tüm öğeleri source 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)coll.Skip(n) birleştirerek ile aynı sırayı collverir.

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

Ayrıca bkz.

Şunlara uygulanır

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

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>

Öğesinden öğe döndürülecek dizi.

range
Range

Dizinin başından veya sonundan başlangıç ve bitiş dizinlerine sahip, 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 değeridir.

Açıklamalar

Bu yöntem ertelenmiş yürütme kullanılarak uygulanır. Anında dönüş değeri, eylemi gerçekleştirmek için gereken tüm bilgileri depolayan bir nesnedir. Bu yöntemle temsil edilen sorgu, doğrudan yöntemini çağırarak GetEnumerator veya C# içinde veya For Each Visual Basic'te kullanarak foreach nesne 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