对于实现IEnumerable接口的集合,当我们使用TakeWhile来筛选数据的时候,要注意TakeWhile在顺序执行过程中,一旦发现查询条件 不符合,就会马上终止,而不会继续筛选后面的数据,下面是一个例子: int[] test = new int[]{5,6,7, 11, 2, 8,12,1}; var r = test.TakeWhile<int>(a => a < 10); Console.WriteLine("--------Number under 10-------"); foreach (var x in r) { Console.WriteLine(x); //result: 5, 6, 7 }