简体   繁体   English

Linq不适用于Mac OSX 10.6.4上的MonoDevelop / Mono最新版本

[英]Linq does not work with MonoDevelop/Mono last version on Mac OSX 10.6.4

I'm trying to execute a simple test code: 我正在尝试执行一个简单的测试代码:

using System;
using System.IO;
using System.Linq;
using System.Collections.Generic;

namespace TestMono
{
    public class TesterManager
    {
        public TesterManager ()
        {
            Console.WriteLine("Test");
            Path.GetTempPath();

            foreach (var i in new int[] { 1, 2, 3, 4, 5}.Where(n => n % 2 == 0))
        {
            Console.WriteLine(i);
        }

            List<string> ar= new List<string>();
            ar.Add("1"); ar.Add("2");


            var lb = ar.Where(n => n=="2");
        }
    }
}

Compiling that code I have two errors: 编译该代码我有两个错误:

Esecuzione compilazione principale...
/Library/Frameworks/Mono.framework/Versions/2.6.4/bin/gmcs /noconfig "/out:/Users/roberto/Projects/TestMono/TestMono/bin/Debug/TestMono.exe" /nologo /warn:4 /debug:+ /debug:full /optimize- /codepage:utf8 /platform:x86 "/define:DEBUG"  /t:exe "/Users/roberto/Projects/TestMono/TestMono/TesterManager.cs" "/Users/roberto/Projects/TestMono/TestMono/Main.cs" 
Compilation failed: 2 error(s), 0 warnings

/Users/roberto/Projects/TestMono/TestMono/TesterManager.cs(15,70): error CS1061: Type `int[]' does not contain a definition for `Where' and no extension method `Where' of type `int[]' could be found (are you missing a using directive or an assembly reference?)
/Users/roberto/Projects/TestMono/TestMono/TesterManager.cs(24,37): error CS1061: Type `System.Collections.Generic.List<string>' does not contain a definition for `Where' and no extension method `Where' of type `System.Collections.Generic.List<string>' could be found (are you missing a using directive or an assembly reference?)

I set the Mono/.NET 3.5 in the project properties and I have the latest version of both Mono and MonoDevelop. 我在项目属性中设置了Mono / .NET 3.5,并且具有Mono和MonoDevelop的最新版本。 I don't understand what is that goes wrong! 我不明白这是怎么回事!

You may need to add a reference to "System.Core.dll" in order to access the "System.Linq" namespace. 您可能需要添加对“ System.Core.dll”的引用才能访问“ System.Linq”命名空间。

This one had me scratching my head for a while, I was too used to Resharper bringing in my references. 这个让我挠了一下头,我已经习惯于Resharper引入我的参考文献。

Did you add a reference to System.Linq.dll (or what ever it is called in Mono)? 您是否添加了对System.Linq.dll的引用(或在Mono中称为的引用)?

(I could swear VS asks the same ;P ) (我可以发誓VS问同样的问题; P)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM