为什么我无法编译LINQ命令

时间:2012-01-27 16:45:07

标签: c# winforms visual-studio-2010 linq

我正在使用C#,WinForms,在VS2010 Pro中尝试运行一行代码:

var count = before.Count(c => c == '/');

我从这里得到的:How would you count occurrences of a string within a string?

但它无法识别字符串上的Count方法,因此它会出错并且无法编译。 我该如何解决?缺少什么?

2 个答案:

答案 0 :(得分:3)

最有可能的是,您缺少System.Linq命名空间的using指令,或者不太可能是对System.Core.dll程序集的引用。

尝试在文件顶部插入:

using System.Linq;

如果这不能解决问题,请从“解决方案资源管理器”中右键单击您的项目,从上下文菜单中选择“添加引用”,然后确保引用System.Core.dll

还要确保您的目标是.NET 3.5或更高版本(.NET 2.0的解决方法,例如LinqBridge)。

答案 1 :(得分:1)

由于.NET Framework 3.5之后可以使用Enumerable.Count()扩展方法,因此您可能没有在C#项目中定位正确的版本,或者根本没有安装.NET Framework 3.5。

MSDN, version Information:

.NET Framework
Supported in: 4, 3.5

.NET Framework Client Profile
Supported in: 4, 3.5 SP1