Как использовать LINQ в моно? - программирование
Подтвердить что ты не робот

Как использовать LINQ в моно?

Я не могу заставить System.Linq(aka LINQ to Objects) работать. Я запускаю MonoDevelop 2.2.1 в Ubuntu 10 Lucid Lynx с Mono 2.4.4.

Они рекламируют на своем сайте, что они реализовали LINQ, но я даже не могу найти Enumerable.Range или ToArray(). Что не так?

4b9b3361

Ответ 1

Я предполагаю, что вам нужно будет сделать:

  • В настройках вашего проекта установите для параметра "Версия времени выполнения" значение "Моно/.Net 3.5"
  • Добавить ссылку на пакет System.Core(ссылки правой кнопки мыши в обозревателе решений)
  • Добавить "using System.Linq" в ваш модуль

после этого ваш код должен скомпилировать и выполнить

надеюсь, что это поможет, считает

Ответ 2

Используете ли вы компилятор gmcs? mcs, похоже, не компилирует код, содержащий Linq.

$ cat a.cs
using System;
using System.Linq;

class Test
{
    static void Main()
    {
        foreach (var i in new int[] { 1, 2, 3, 4, 5}.Where(n => n % 2 == 0))
        {
            Console.WriteLine(i);
        }
    }
}
$ gmcs a.cs
$ ./a.exe
2
4

Чтобы скомпилировать с помощью gmcs, выполните следующие инструкции, описанные Часто задаваемые вопросы по MonoDevelop:

Можно ли скомпилировать мой проект с помощью gmcs?

Да. Щелкните правой кнопкой мыши на своем проекте, выберите "Опции" → "Время выполнения" и выберите "2.0" в раскрывающемся списке.

Ответ 3

Что вы имеете в виду, когда говорите "не можете найти"? Intellisense? Многие из методов linq являются методами расширения, а monodevelop может не поддерживать те, которые используются в intellisense. В этом случае вы все равно можете использовать их, и ваш код должен компилироваться, он просто не находится в раскрывающихся списках.

О методах расширения