“System.Collections.Generic.List<string>”不包含“OrderBy”的定义

https://q.cnblogs.com/q/40737/

如下代码:

var key = new List();
for (int i = 12; i > 0; i--)
{
key.Add("M" + i.ToString());
}
key.OrderBy(p => p);
key.AsParallel();

在新建的Asp.net Web网站中,不会有任何错误。可是在新建的控制台应用程序中,却会提示如下错误。List都是引用System.Collections.Generic程序集,为何会出现这种情况?

错误 1 “System.Collections.Generic.List”不包含“OrderBy”的定义,并且找不到可接受类型为“System.Collections.Generic.List”的第一个参数的扩展方法“OrderBy”(是否缺少 using 指令或程序集引用?) d:ProjectsConsoleApplication9ConsoleApplication9Class1.cs 20 17 ConsoleApplication9

错误 2 “System.Collections.Generic.List”不包含“AsParallel”的定义,并且找不到可接受类型为“System.Collections.Generic.List”的第一个参数的扩展方法“AsParallel”(是否缺少 using 指令或程序集引用?) d:ProjectsConsoleApplication9ConsoleApplication9Class1.cs 21 17 ConsoleApplication9

解答:
需要导入命名空间System.Linq, key.OrderBy(p => p);是linq查询语句.
System.Core(在 System.Core.dll 中)

使用lambda表达式需要using System.Linq;否则识别 Max() Min() Where() OrderBy() 等等拓展方法

原文地址:https://www.cnblogs.com/sunny3158/p/15297974.html