我正在尝试学习一些LINQ,但我马上就遇到了编译问题。有什么特别的理由说明这不起作用吗?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace HelloLINQ {
class HelloLINQ
{
public static void Main()
{
Example1();
}
public static void Example1()
{
var numbers = new int[] { 1, 5, 3, 7, 3, 8, 9, 3, 6, 6, 2 };
var under5 = from n in numbers
select n;
foreach (var n in under5)
{
Console.WriteLine(n);
}
}
}
}
错误是:
找不到源类型'int []'的查询模式的实现。找不到“选择”。您是否缺少对'System.Core.dll'的引用或'System.Linq'的using指令?
答案 0 :(得分:2)
您的项目中是否有对System.Core的引用?其他一切都是正确的。
答案 1 :(得分:2)
好吧,我们有一条错误消息,由Microsoft员工认真撰写,以提供帮助,让我们来看看。
Could not find an implementation of the query pattern for source type 'int[]'. 'Select' not found. Are you missing a reference to 'System.Core.dll' or a using directive for 'System.Linq'?
int[]
是一种基本的C#类型。基本的C#类型在哪里? System.Core程序。并且错误提到检查对System.Core的引用。那么,是否有对System.Core的引用?
检查一下:
解决方案资源管理器 - >参考。在列表中,你看到System.Core吗?
如果没有,很奇怪,但它很容易添加。右键单击引用,在.NET下查看System.Core,添加它,然后瞧。