本文章是由機器翻譯。 將指標移到文章內的文字上方即可查看原文。 其他資訊。
譯文
原文
資訊
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

Enumerable.SkipWhile<TSource> 方法 (IEnumerable<TSource>, Func<TSource, Boolean>)

只要指定的條件為 true,便略過序列中的項目,然後傳回其餘項目。

命名空間:  System.Linq
組件:  System.Core (在 System.Core.dll 中)

public static IEnumerable<TSource> SkipWhile<TSource>(
	this IEnumerable<TSource> source,
	Func<TSource, bool> predicate
)

類型參數

TSource

source 之項目的型別。

參數

source
類型:System.Collections.Generic.IEnumerable<TSource>
傳回項目的 IEnumerable<T>
predicate
類型:System.Func<TSource, Boolean>
用來測試每個項目是否符合條件的函式。

傳回值

類型:System.Collections.Generic.IEnumerable<TSource>
IEnumerable<T> ,其中包含的項目位於輸入序列中,而且是從沒有通過 predicate 所指定測試之線性系列中的第一個項目開始。

使用注意事項

在 Visual Basic 和 C# 中,您可以在任何 IEnumerable<TSource> 類型物件中呼叫這個方法以做為執行個體。使用執行個體方法語法呼叫這個方法時,請省略第一個參數。如需詳細資訊,請參閱擴充方法 (Visual Basic)擴充方法 (C# 程式設計手冊)

例外狀況條件
ArgumentNullException

sourcepredicatenull

SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>) 方法是利用延遲執行所實作。 立即傳回值是一個物件,儲存執行該動作所需的所有資訊。 這個方法所代表的查詢必須等到列舉物件 (透過直接呼叫其 GetEnumerator 方法,或是使用 Visual C# 中的 foreach 或 Visual Basic 中的 For Each) 之後才會執行。

這個方法會使用 predicate 測試 source 的每個項目,並在結果為 true 時略過該項目。 在述詞函式針對項目傳回 false 之後,便會產生該項目和 source 中的其他項目,而且不會再叫用 predicate

如果 predicate 針對序列中的所有項目傳回 true,會傳回空白的 IEnumerable<T>

TakeWhile SkipWhile 方法都是功能補充方法。 假設有序列 coll 和純虛擬函式 p,串連 coll.TakeWhile(p)coll.SkipWhile(p) 後將產生與 coll 相同的序列。

在 Visual Basic 查詢運算式語法中,Skip While 子句會轉譯為 SkipWhile 的引動過程。

下列程式碼範例示範如何使用 SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>),在條件為 true 時略過陣列的元素。


            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
            */



.NET Framework

支援版本:4.5.2、4.5.1、4.5、4、3.5

.NET Framework Client Profile

支援版本:4、3.5 SP1

可攜式類別庫

支援版本:可攜式類別庫

適用於 Windows 市集應用程式的 .NET

支援版本:Windows 8

適用於 Windows Phone 應用程式的 .NET

支援版本:Windows Phone 8、Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (不支援伺服器核心角色), Windows Server 2008 R2 (SP1 (含) 以後版本支援伺服器核心角色,不支援 Itanium)

.NET Framework 並不支援各種平台的所有版本。如需支援版本的清單,請參閱.NET Framework 系統需求

社群新增項目

顯示:
© 2015 Microsoft