Cómo usar LINQ en Mono?


No puedo hacer Sistema.Linq (también conocido como LINQ to Objects) funciona. Estoy ejecutando MonoDevelop 2.2.1 en Ubuntu 10 Lucid Lynx con Mono 2.4.4.

Anuncian en su sitio que implementaron LINQ, pero ni siquiera puedo encontrar Enumerable.Range o ToArray(). ¿Qué pasa?

Author: abatishchev, 2010-04-27

3 answers

Supongo que lo que tendrías que hacer es:

  1. En las opciones del proyecto, establezca " Runtime version "en"Mono/. Net 3.5"
  2. Añadir referencia al Sistema.Paquete principal (haga clic con el botón derecho en el explorador de soluciones)
  3. Añadir " usando el sistema.Linq " a su módulo

Después de eso, su código debe compilar y ejecutar

Espero que esto ayude, saludos

 78
Author: serge_gubenko,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-04-27 02:19:36

¿Estás usando el compilador gmcs? mcs no parece compilar código que contenga 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

Para compilar con gmcs, realice las siguientes instrucciones como se describe en el FAQ de MonoDevelop :

Puedo compilar mi proyecto con gmc?

Sí. Haga clic derecho en su proyecto, seleccione 'Opciones' - > 'Tiempo de ejecución' y seleccione ' 2.0 ' de la lista desplegable.

 4
Author: Mark Rushakoff,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-04-27 02:05:45

¿Qué quieres decir cuando dices "no puedo encontrar"? Intellisense? Muchos de los métodos linq son métodos de extensión, y monodevelop puede no ser compatible con los de intellisense. En cuyo caso aún puedes usarlos y tu código debería compilarse, simplemente no está en los desplegables.

Acerca de los métodos de extensión

 1
Author: Tim Hoolihan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-04-27 02:06:52