日期:2014-05-20  浏览次数:20834 次

LINQ中where,跟skip(),take()有什么不同
如题,感觉是,skip(),skipwhile(),take(),takewhile()的效果与Where()所做的效果是一样的..

------解决方案--------------------
它们分别是
跳过数据
当符合这个条件跳过
取数据
当符合这个条件时开始取数据
取符合这个条件的数据

你觉得它们说的是一回事?
------解决方案--------------------
C# code
void Main()
{
    int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; 

    var skipQuery=numbers.Skip(3);  //跳过前三个元素,结果是 3, 9, 8, 6, 7, 2, 0
    var skipWhileQuery=numbers.SkipWhile(x=>x<6);  //从第一个元素开始,当x<6时就SKIP,所以结果是9, 8, 6, 7, 2, 0
    var query=numbers.Where(x=>x<6); //此时会找到数组内所有<6的元素:  5, 4, 1, 3, 2, 0 
    
    //明白了么
}