EJEMPLOS BASICOS DE LINQ EN C#

EJEMPLOS BASICOS DE LINQ EN C#



Unas de las ideas mas grandiosas a mi parecer desarrolladas por microsoft es esta libreria para el manejo de colecciones con sentencias estilo SQL la cual nos permite a demas realizar la mayoria de las tareas comunes de las sentencias SQL como seleccion, edicion, borrado, entre otras funciones como crear archivos XML y JSON, a continuacion pondre una aplicacion ejemplo del tipo consola la cual nos permite ingresar registros de datos para asi generar una coleccion tipo List de entidades la cual posteriormente se puede manejar de forma facil y sencilla.
using System;
//importamos la libreria LINQ 
using System.Linq;
//Importamos la libreria para el manejo de colecciones(Listas) 
using System.Collections.Generic; 
namespace LinqSample
{
   class MainClass
   {
       public static void Main (string[] args)
       {
           //creamos una variable lista del tipo EntidadUsuarios
           List<entidadusuarios> listadatos = new List<entidadusuarios> ();
           string Nombre="", APaterno="", AMaterno="";
           int Edad=0;
           bool ingresar = true;
           Console.WriteLine ("---Ejemplo uso Linq---");
           while (ingresar) {
                Console.WriteLine ("Ingresa Nombre (string)");
                Nombre = Console.ReadLine ();
                Console.WriteLine ("Ingresa A. Paterno (string)");
                APaterno = Console.ReadLine ();
                Console.WriteLine ("Ingresa A. Materno (string)");
                AMaterno = Console.ReadLine ();
                Console.WriteLine ("Ingresa Edad (int)");
                Edad = int.Parse(Console.ReadLine ());
                //Generamos una entidad tipo Entidad Usuario la cual posteriormente
                //llenaremos con los datos proporcionados por el usuario 
                EntidadUsuarios usuario = new EntidadUsuarios ();
                usuario.Nombre = Nombre;
                usuario.APaterno = APaterno;
                usuario.AMaterno = AMaterno;
                usuario.Edad = Edad;
                //Añadimos la entidad creada a la lista
                listadatos.Add (usuario);
                bool correcto=false;
                while (!correcto) {
                    Console.WriteLine ("Deseas ingresar un nuevo registro S/N");
                    string res = Console.ReadLine ().ToUpper();
                    if (res == "S") {
                        ingresar = true;
                        correcto = true;
                    } else if (res == "N") {
                        ingresar = false;
                        correcto = true;
                    } else {
                        correcto = false;
                    }
               }
           }
           //A continuacion se muestra los metodos por los cuales se hace
           //una subcoleccion seleccionando de nuestra lista los elementos
           //que deseamos con notacion tipo SQL
           Console.WriteLine ("");
           Console.WriteLine ("Ordenados Por Nombre");
           var OrdenadosNombre = (from p in listadatos select p).OrderBy(c => c.Nombre);
           foreach (EntidadUsuarios x in OrdenadosNombre) {
                 Console.WriteLine (x.Nombre+" "+x.APaterno+" "+x.AMaterno+" "+x.Edad);
           }
           Console.WriteLine ("");
           Console.WriteLine ("Ordenados Por Edad");
           var OrdenadosEdad = (from p in listadatos select p).OrderBy(c => c.Edad);
           foreach (EntidadUsuarios x in OrdenadosEdad) {
                 Console.WriteLine (x.Nombre+" "+x.APaterno+" "+x.AMaterno+" "+x.Edad);
           }
           Console.WriteLine ("");
           Console.WriteLine ("Mayores de Edad");
           var MayoresdeEdad = from p in listadatos where p.Edad >= 18 select p;
           foreach (EntidadUsuarios x in MayoresdeEdad) {
                Console.WriteLine (x.Nombre+" "+x.APaterno+" "+x.AMaterno+" "+x.Edad);
           }
           Console.ReadLine ();
       }
 }
 //Generamos una entidad clase algo asi como una tabla en SQL
 public class EntidadUsuarios
 {
     public string Nombre{ get; set;}
     public string APaterno { get; set;}
     public string AMaterno{ get; set;}
     public int Edad { get; set;}
 }
}

Puedes bajar el ejemplo completo desde mi github.

Puedes verificar mas documentacion de esta libreria desde estas direcciones.

Comentarios

Entradas populares