How do I use Linq in MonoDevelop 2.0 on OS X?

2019-02-12 08:35发布

问题:

I installed MonoDevelop 2.0 on my Mac.

I created a new Console Application.

"Hello World" program runs fine.

But I can't use Linq.

using System. doesn't show Linq option.

What should I do?

回答1:

You may need to right-click on your project in the solution view, do Options, Build, General, and set your Target Runtime to Mono / .Net 3.5 or bigger.

Then you can right-click references, do Edit References, and add a reference to System.Core to your project.



回答2:

I'm running Monodevelop 2.0 and Mono 2.0 on Ubuntu 9.04 and lambda's and Linq work fine.

Contrary to what Thomas Levesque says, System.Core does exist in Mono. Extension methods, lambda's et al are all supported.

You need to use using System.Linq.

public static void Example1()    
{

    List<string> people = new List<string>() 
    { 
        "Granville", "John", "Rachel", "Betty", 
        "Chandler", "Ross", "Monica" 
    };

    IEnumerable<string> query = from p in people where p.Length > 5 
    orderby p select p;

    foreach (string person in query) 
    {
        Console.WriteLine(person);
    }
}


回答3:

The Latest version of Mono Develop does support linq. On the project you must select 3.5 under Build/General/RuntimeVersion. After that you can add the System.Core reference.



回答4:

Is your Console Application referencing the System.Core.dll? You need to reference it in order to use System.Linq.



回答5:

Check if your project references on System.Xml.Linq library too



回答6:

Not sure LINQ is fully implemented within the current release http://www.mono-project.com/Roadmap