有人能解释一下 LINQ 函数 Where(..) 和 FindAll(..) 的区别吗?他们似乎都在做同样的事情......
最佳答案
FindAll()
是 List<T>
类型的函数,它不是像 Where
这样的 LINQ 扩展方法。 LINQ 扩展方法适用于实现 IEnumerable
的任何类型,而 FindAll
只能用于 List<T>
实例(当然,或从它继承的类的实例)。
此外,它们在实际用途上有所不同。 Where
返回 IEnumerable
的实例,该实例在枚举对象时按需执行。 FindAll
返回一个新的 List<T>
,其中包含所请求的元素。 FindAll
更像是在 Where(...).ToList()
的实例上调用 IEnumerable
。
关于c# - LINQ、Where() 与 FindAll(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1938204/