10

在我工作的一个特定项目中,我有一个返回 IList 的方法。但是这个接口不包含 where 或 FindAll 过滤器。但是,当我打开一个新项目时,IList 包含所有内容。有什么区别?

4

5 回答 5

38

你导入 System.Linq 了吗?

于 2010-07-21T11:04:30.063 回答
6

没有。 IEnumerable<T>将“where”作为扩展方法。

假设您的项目是.Net 3.5 或更高版本,您需要拥有using System.Linq;

于 2010-07-21T11:05:46.997 回答
2

您可能会发现这很有用: LINQ, Where() vs FindAll()

于 2010-07-21T11:06:14.803 回答
1

这是一般扩展方法的基本讨论。正如其他人所提到的, Where 方法是 System.Linq 命名空间中的扩展方法,因此您需要导入它才能让智能感知检测这些方法的存在。

于 2010-07-21T12:56:48.253 回答
1

检查打开的框架的.NET Framework,可能是它的.NET Fx 2。

System.Linq 在 3.5 中添加

于 2010-07-21T11:06:44.163 回答