在标准的visual studio 2013网络应用程序中工作,我意识到似乎无法解析System.Linq命名空间,例如上
mylist.Sum(...)
在代码中缺少使用System.Linq的类中的。你必须添加
using System.Linq
手动,这是可能的(引用被添加到项目中)。这是什么原因?
答案 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的。