溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linq中的TakeWhile和SkipWhile的用法

發布時間:2020-08-07 06:44:01 來源:網絡 閱讀:1650 作者:studyofnet 欄目:編程語言

Linq中的SkipWhile


1、含義


(1)、對數據源進行枚舉,從第一個枚舉得到的元素開始,調用客戶端的predicate

(2)、如果返回true,則跳過該元素,繼續進行枚舉操作.

(3)、但是,如果一旦predicate返回為false,則該元素以后的所有元素,都不會再調用predicate,而全部枚舉給客戶端.

 

2、實例

 

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




二、Linq中的TakeWhile


1、含義


(1)、對數據源進行枚舉,從第一個枚舉得到的元素開始,調用客戶端傳入的predicate( c.Name == ""woodyN")

(2)、如果這個predicate委托返回true的話,則將該元素作為Current元素返回給客戶端,并且,繼續進行相同的枚舉,判斷操作.

(3)、但是,一旦predicate返回false的話,MoveNext()方法將會返回false,枚舉就此打住,忽略剩下的所有元素.

 


2、實例

 

            string[] fruits = { "apple", "banana", "mango", "orange", 
                                  "passionfruit", "grape" };
            IEnumerable<string> query =
                fruits.TakeWhile(fruit => String.Compare("orange", fruit, true) != 0);
            foreach (string fruit in query)
            {
                Console.WriteLine(fruit);
            }
            /**//*
             This code produces the following output:
             apple
             banana
             mango
            */



參考資料:Linq中的TakeWhile和SkipWhile   http://www.studyofnet.com/news/872.html

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女