LINQ, Where() vs FindAll()

后端 未结 4 729
迷失自我
迷失自我 2020-11-27 12:51

Can someone explain how the LINQ functions Where(..) and FindAll(..) differ? They both seem to do the same thing...

4条回答
  •  夕颜
    夕颜 (楼主)
    2020-11-27 13:07

    The biggest difference to me is that .FindAll is also available in .Net 2.0. I don't always have the luxury to program in .Net 3.5, so I try to remember the 'native' methods of the .Net generic collections.

    It happened several times that I implemented an already available List method myself because I couldn't LINQ it.

    What I find handy in this case is that, using VS2008, I can use type inference and the lambda syntax. These are compiler features, not framework features. This means I can write this and still remain within .Net 2.0:

    var myOddNums = myNums.FindAll(n => n%2==1);
    

    But if you do have LINQ available, keeping the difference between deferred execution and immediate execution is important.

提交回复
热议问题