发布于 2011-02-18 00:37:32
当条件为false时,TakeWhile
将停止,Where
将继续查找与条件匹配的所有元素
var intList = new int[] { 1, 2, 3, 4, 5, -1, -2 };
Console.WriteLine("Where");
foreach (var i in intList.Where(x => x <= 3))
Console.WriteLine(i);
Console.WriteLine("TakeWhile");
foreach (var i in intList.TakeWhile(x => x <= 3))
Console.WriteLine(i);
给出
Where
1
2
3
-1
-2
TakeWhile
1
2
3
发布于 2011-02-18 00:35:47
发布于 2011-02-18 00:39:20
假设您有一个包含[1, 3, 5, 7, 9, 0, 2, 4, 6, 8]
的数组。现在:
var whereTest = array.Where(i => i <= 5);
将返回[1, 3, 5, 0, 2, 4]
。
var whileTest = array.TakeWhile(i => i <= 5);
将返回[1, 3, 5]
。
https://stackoverflow.com/questions/5031726
复制相似问题