Enumerable.SkipWhile Yöntem

Tanım

Belirtilen koşul true olduğu sürece bir dizideki öğeleri atlar ve sonra kalan öğeleri döndürür.

Aşırı Yüklemeler

SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Belirtilen koşul true olduğu sürece bir dizideki öğeleri atlar ve sonra kalan öğeleri döndürür.

SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>)

Belirtilen koşul true olduğu sürece bir dizideki öğeleri atlar ve sonra kalan öğeleri döndürür. Öğenin dizini koşul işlevinin mantığında kullanılır.

SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Kaynak:
Skip.cs
Kaynak:
Skip.cs
Kaynak:
Skip.cs

Belirtilen koşul true olduğu sürece bir dizideki öğeleri atlar ve sonra kalan öğeleri döndürür.

C#
public static System.Collections.Generic.IEnumerable<TSource> SkipWhile<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,bool> predicate);

Tür Parametreleri

TSource

öğelerinin sourcetürü.

Parametreler

source
IEnumerable<TSource>

Öğesinden IEnumerable<T> öğeleri döndürmek için.

predicate
Func<TSource,Boolean>

Bir koşul için her öğeyi test etmek için bir işlev.

Döndürülenler

IEnumerable<TSource>

IEnumerable<T> tarafından belirtilen predicatetesti geçirmeyen doğrusal serideki ilk öğeden başlayarak giriş dizisindeki öğeleri içeren bir.

Özel durumlar

source veya predicate şeklindedir null.

Örnekler

Aşağıdaki kod örneği, bir koşul true olduğu sürece dizinin öğelerini atlamak için nasıl kullanılacağını SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) gösterir.

C#
int[] grades = { 59, 82, 70, 56, 92, 98, 85 };

IEnumerable<int> lowerGrades =
    grades
    .OrderByDescending(grade => grade)
    .SkipWhile(grade => grade >= 80);

Console.WriteLine("All grades below 80:");
foreach (int grade in lowerGrades)
{
    Console.WriteLine(grade);
}

/*
 This code produces the following output:

 All grades below 80:
 70
 59
 56
*/

Açıklamalar

SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) yöntemi 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.

Bu yöntem kullanarak predicate öğesinin source her bir öğesini test eder ve sonuç ise trueöğesini atlar. Koşul işlevi bir öğe için döndürdüğünde false , bu öğe ve içindeki source kalan öğeler döndürülüp çağrısı predicateyapılmaz.

Dizideki tüm öğeler için döndürürse predicatetrue boş IEnumerable<T> bir değer döndürülür.

TakeWhile ve SkipWhile yöntemleri işlevsel tamamlayıcılardır. Bir koleksiyon dizisi coll ve saf bir işlev pverilip sonuçlarını coll.TakeWhile(p) birleştirir ve coll.SkipWhile(p) ile collaynı diziyi verir.

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

Ayrıca bkz.

Şunlara uygulanır

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>)

Kaynak:
Skip.cs
Kaynak:
Skip.cs
Kaynak:
Skip.cs

Belirtilen koşul true olduğu sürece bir dizideki öğeleri atlar ve sonra kalan öğeleri döndürür. Öğenin dizini koşul işlevinin mantığında kullanılır.

C#
public static System.Collections.Generic.IEnumerable<TSource> SkipWhile<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,int,bool> predicate);

Tür Parametreleri

TSource

öğelerinin sourcetürü.

Parametreler

source
IEnumerable<TSource>

Öğesinden IEnumerable<T> öğeleri döndürmek için.

predicate
Func<TSource,Int32,Boolean>

Bir koşul için her kaynak öğeyi test etmek için bir işlev; işlevinin ikinci parametresi, kaynak öğenin dizinini temsil eder.

Döndürülenler

IEnumerable<TSource>

IEnumerable<T> tarafından belirtilen predicatetesti geçirmeyen doğrusal serideki ilk öğeden başlayarak giriş dizisindeki öğeleri içeren bir.

Özel durumlar

source veya predicate şeklindedir null.

Örnekler

Aşağıdaki kod örneği, öğenin dizinine bağlı bir koşul true olduğu sürece dizinin öğelerini atlamak için nasıl kullanılacağını SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>) gösterir.

C#
int[] amounts = { 5000, 2500, 9000, 8000,
                    6500, 4000, 1500, 5500 };

IEnumerable<int> query =
    amounts.SkipWhile((amount, index) => amount > index * 1000);

foreach (int amount in query)
{
    Console.WriteLine(amount);
}

/*
 This code produces the following output:

 4000
 1500
 5500
*/

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.

SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>) yöntemi kullanarak predicate öğesinin source her öğesini test eder ve sonuç ise trueöğesini atlar. Koşul işlevi bir öğe için döndürdüğünde false , bu öğe ve içindeki source kalan öğeler döndürülüp çağrısı predicateyapılmaz.

Dizideki tüm öğeler için döndürürse predicatetrue boş IEnumerable<T> bir değer döndürülür.

öğesinin predicate ilk bağımsız değişkeni, test yapılacak öğeyi temsil eder. İkinci bağımsız değişken içindeki sourceöğesinin sıfır tabanlı dizinini temsil eder.

TakeWhile ve SkipWhile yöntemleri işlevsel tamamlayıcılardır. Bir koleksiyon dizisi coll ve saf bir işlev pverilip sonuçlarını coll.TakeWhile(p) birleştirir ve coll.SkipWhile(p) ile collaynı diziyi verir.

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

Ayrıca bkz.

Şunlara uygulanır

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0