C# 为什么我不能编译LINQ命令

C# 为什么我不能编译LINQ命令,c#,winforms,visual-studio-2010,linq,C#,Winforms,Visual Studio 2010,Linq,我正在VS2010 Pro中使用C#、WinForms,并尝试运行一行代码: var count = before.Count(c => c == '/'); 我从这里得到: 但它不能识别字符串上的Count方法,所以它会给出错误并且不会编译。 我该怎么修?缺少什么?自从.NET Framework 3.5以来,Enumerable.Count()扩展方法是可用的。可能您的C#项目中没有针对正确的版本,或者根本没有安装.NET Framework 3.5 由于自.NET Framewo

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

var count = before.Count(c => c == '/');
我从这里得到:

但它不能识别字符串上的Count方法,所以它会给出错误并且不会编译。
我该怎么修?缺少什么?

自从.NET Framework 3.5以来,
Enumerable.Count()
扩展方法是可用的。可能您的C#项目中没有针对正确的版本,或者根本没有安装.NET Framework 3.5


由于自.NET Framework 3.5以来,
Enumerable.Count()
扩展方法是可用的,因此可能您的C#项目中没有针对正确的版本,或者根本没有安装.NET Framework 3.5


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

请尝试在文件顶部插入以下内容:

using System.Linq;
如果无法解决此问题,请在“解决方案资源管理器”中右键单击项目,从关联菜单中选择“添加引用”,然后确保引用了
System.Core.dll


另外,请确保您的目标是.NET 3.5或更高版本(在.NET 2.0中有一些变通方法,例如)。

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

请尝试在文件顶部插入以下内容:

using System.Linq;
如果无法解决此问题,请在“解决方案资源管理器”中右键单击项目,从关联菜单中选择“添加引用”,然后确保引用了
System.Core.dll



另外,请确保您的目标是.NET 3.5或更高版本(例如.NET 2.0有一些变通方法)。

之前的
类型是什么?@DBM从这个问题中,我想我们可以推断
之前的
是一个
字符串
@BDotA-如果您没有听说过,我建议您使用Jetbrains resharper。它会拾取缺少的引用,键盘快捷键Alt+Enter会添加名称空间+引用dll@Dr.AndrewBurnett-汤普森:哦,是的,我喜欢Resharper,但我的试用期在几个月前就到期了:(@BDotA个人C#only;-)只有116英镑)开源许可证是免费的。
before
的类型是什么?@DBM从这个问题我想我们可以推断出
before
是一个
字符串
@BDotA-如果你没听说过,我建议使用Jetbrains resharper。它会拾取缺少的引用,键盘快捷键Alt+Enter会添加名称空间+引用dll@Dr.AndrewBurnett-汤普森:哦,是的,我喜欢Resharper,但我的试用期几个月前就到期了:(@BDotA个人C#only;-)开源许可证是免费的,我右键点击参考资料并尝试查找系统。Core,但是找不到它,您的目标是哪个版本的框架?列表将被筛选到该版本支持的程序集。@恶心:我有.NT 4.0和.NET 3.5的SP1。根据“确定”,修复了它,它没有显示它的问题是因为在应用程序的生成属性上它是在.NET 3.0上设置的,虽然我甚至有.NET4.0,但项目的构建是在.NET3.0上的,所以它并没有列出System.LINQ。ThanksI右键单击引用并尝试查找System.Core,但找不到它您针对的是哪个版本的框架?列表将被筛选到该版本支持的程序集。@恶心:我有.NT 4.0和.NET 3.5的SP1。根据“确定”,修复了它,它没有显示它的问题是因为在应用程序的生成属性上它是在.NET 3.0上设置的,虽然我甚至有.NET4.0,但项目的构建是在.NET3.0上的,所以它并没有列出System.LINQ。ThanksI搜索以将System.Core添加到引用中,但没有列出它。我的VS安装可能已损坏?谢谢,但我有VS2010,所以我认为它实际上是.NET 4.0,修复了它,它没有显示它的问题是因为在应用程序的构建属性上它设置在.NET 3.0上,虽然我甚至有.NET 4.0,但项目的构建是在.NET 3.0上,所以它没有列出System.LINQ。ThanksI搜索以将System.Core添加到引用中,但没有列出它。我的VS安装可能已损坏?谢谢,但我有VS2010,所以我认为它实际上是.NET 4.0,修复了它,它没有显示它的问题是因为在应用程序的构建属性上它设置在.NET 3.0上,虽然我甚至有.NET 4.0,但项目的构建是在.NET 3.0上,所以它没有列出System.LINQ。谢谢