jueves, 23 de abril de 2009

Linq en GNU/Linux

Esta vez les voy a mostrar que Linq también nos funciona en GNU/Linux usando Mono, para eso vamos a usar MonoDevelop.

Para poder usar Linq en Mono necesitamos:

  • La version 2.0 de MonoDevelop
  • Mono 2.4
  • Hacer referencia a System.Data.Linq

Para iniciar vamos a crear un nuevo proyecto que sea de tipo Consola, despues vamos a crear una clase “Persona” que definimos aqui abajo:

Persona.cs

   1: namespace MonoLinq
   2: {    
   3:     public class Persona
   4:     {        
   5:         public string Nombre
   6:         {get;set;}
   7:         public string ApellidoPaterno
   8:         {get;set;}
   9:         public string ApellidoMaterno
  10:         {get;set;}
  11:     }
  12: }


Para hacer referencia a System.Data.Linq damos click derecho en “References” de nuestro proyecto y despues “Edit References…”

En la ventana que se nos presenta elegimos la ceja que dice “Packages” y buscamos el que dice System.Data.Linq, lo seleccionamos y presionamos OK:

Una vez que agregamos la referencia de Linq a nuestro proyecto podemos agregar las referencias de Linq y de Generic a nuestra clase Main.cs

   1: using System;
   2: using System.Collections.Generic;
   3: using System.Linq;

En la clase Main.cs vamos a crear instancias de nuestra clase Persona de esta forma:


   1: var persona1 = new Persona
   2:                  {
   3:                      Nombre = "Armando",
   4:                      ApellidoPaterno = "Castro",
   5:                      ApellidoMaterno = "Rodriguez"
   6:                  };


Seguido ya habiendo creado varias instancias de la clase las agregamos a un arreglo genérico:


1: var personas = new List<Persona> {persona1, persona2, persona3, persona4, persona5};

Una vez que tenemos creado el arreglo generico de tipo Persona podemos hacer uso de Linq para hacer busquedas sobre ese arreglo. La parte de Linq en si es la siguiente:





   1: var persona = (from p in personas where p.Nombre == "Roberto" select p).FirstOrDefault();




Una vez que hicimos una busqueda sobre nuestro arreglo y lo cargamos a una variable podemos imprimir sus valores:



   1: Console.WriteLine("Nombre : {0}", persona.Nombre);
   2:                 Console.WriteLine("Apellido Paterno : {0}", persona.ApellidoPaterno);
   3:                 Console.WriteLine("Apellido Materno : {0}", persona.ApellidoMaterno);

El resultado es el siguiente:

Esta fue una breve introducción de como usar Linq en C# bajo Mono y GNU/Linux.

Por cierto aqui esta el código!

Descargalo

Que comiencen los comentarios :-) !

0 comentarios:

Publicar un comentario