FindAll和Linq where的区别
我们在集合查询时经常用到FindAll和where筛选集合。二者实现的功能都是一样的.
1.FindAll是List<T>类型中的一个方法,而不像where是一个Linq表达式的扩展方法。我们知道linq表达式可以基于所有继承IEnumerable的集合上使用,而FindAll只能运用于List<T>的实 例。
2. 另外 where是延时加载的,FindAll不是,你可以把FindAll==where().ToList();
3.FindAll调用的是Predicate<T>的委托,而where扩展方法调用的Function<T,bool>的委托。两者实现功能一样,但是内部实现方法不一样。