无法解析System.Linq命名空间

时间:2015-02-17 14:21:45

标签: linq visual-studio namespaces resolve

在标准的visual studio 2013网络应用程序中工作,我意识到似乎无法解析System.Linq命名空间,例如上

mylist.Sum(...)
在代码中缺少使用System.Linq的类中的

。你必须添加

using System.Linq

手动,这是可能的(引用被添加到项目中)。这是什么原因?

1 个答案:

答案 0 :(得分:1)

所有LINQ方法都是extension methods。编译器只根据您的代码中存在using指令,知道您感兴趣的扩展方法,例如。

// Imports extension methods from all static classes in the
// System.Linq namespace
using System.Linq;

// C# 6 only: imports extension methods from System.Linq.Enumerable only
using static System.Linq.Enumerable;

这就是扩展方法的工作方式......它不是特定于LINQ的。