C#故障排除中最简单的LINQ

时间:2010-06-03 14:52:15

标签: c# linq

我正在尝试学习一些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指令?

2 个答案:

答案 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,添加它,然后瞧。