代码改变世界

Linq操作符(二)

2011-11-25 08:36  Ref Tian  阅读(208)  评论(0编辑  收藏  举报


TakeWhile
在指定的條件為True是從輸入的序列總提取元素,當返回的結果為false時則停止數據的提取
實例:
原型1
            string[] vOpt = {"Tomjingking","Sim","Ref.tian","JI","M"};
            IEnumerable<string> vGet = vOpt.TakeWhile(p => p.Length > 3);
            foreach (var VARIABLE in vGet)
            {
                MessageBox.Show(VARIABLE);
            }
運行的結果為:
Tomjingking
因為Sim的長度為3所以表達式的返回結果為false,所以取值停止。
原型2
            IEnumerable<string> vGet = vOpt.TakeWhile((p, i) => (p.Length > 3) && (i < 2));
            foreach (var VARIABLE in vGet)
            {
                MessageBox.Show(VARIABLE);
            }
以上代碼中的i指的是每個元素的下標,i < 2即為  下標小於2的元素

Skip
跳過指定數量的數據取剩下的數據
實例:
            string[] vMan = {"Timking","Sima","Moto","KS"};
            IEnumerable<string> vGet = vMan.Skip(2);
            foreach (var VARIABLE in vGet)
            {
                MessageBox.Show(VARIABLE);
            }
執行結果會跳過前兩個返回:
Moto
KS