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

Я не могу сделать Систему. Linq (иначе LINQ к Объектам) работа. Я выполняю MonoDevelop 2.2.1 в Ubuntu 10 Ясный Lynx с Моно 2.4.4.

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

46
задан abatishchev 15 November 2010 в 09:26
поделиться

3 ответа

Думаю, что вам нужно сделать, это:

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

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

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

79
ответ дан 26 November 2019 в 20:27
поделиться

Вы используете компилятор 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 FAQ :

Могу ли я скомпилировать свой проект с gmcs?

Да. Щелкните правой кнопкой мыши свой проект, выберите «Параметры» -> «Время выполнения» и выберите «2.0» из раскрывающегося списка.

4
ответ дан 26 November 2019 в 20:27
поделиться

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

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

1
ответ дан 26 November 2019 в 20:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: