Enumerable.Take Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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)
- 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 source
tü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<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 n
ve sonuçlarını coll.Take(n)
coll.Skip(n)
birleştirerek ile aynı sırayı coll
verir.
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)
- 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 source
tü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<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.