Вопрос

Я установил MonoDevelop 2.0 на свой Mac.

Я создал новое консольное приложение.

Программа «Hello World» работает нормально.

Но я не могу использовать Linq.

using System. не показывает Linq вариант.

Что я должен делать?

Это было полезно?

Решение

Возможно, вам придется щелкнуть правой кнопкой мыши свой проект в представлении решения, выполните Options, Build, General, и установите целевую среду выполнения на Mono / .Net 3.5 или больше.

Затем вы можете щелкнуть ссылки правой кнопкой мыши, выполнить команду «Редактировать ссылки» и добавить ссылку на System.Core в свой проект.

Другие советы

Я использую Monodevelop 2.0 и Mono 2.0 на Ubuntu 9.04, и лямбда-выражения и Linq работают нормально.

Вопреки тому, что говорит Томас Левеск, System.Core существует в Mono.Поддерживаются все методы расширения, лямбда и др.

Вам нужно использовать 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);
    }
}

Последняя версия Mono Develop поддерживает linq.В проекте вы должны выбрать 3.5 в разделе Build/General/RuntimeVersion.После этого вы можете добавить ссылку на System.Core.

Ссылается ли ваше консольное приложение на System.Core.dll?Вам необходимо ссылаться на него, чтобы использовать System.Linq.

Проверьте, ссылается ли ваш проект на System.Xml.Linq библиотека тоже

Не уверен, что LINQ полностью реализован в текущей версии. http://www.mono-project.com/Roadmap

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top