Skip to content

Categories:

Ejemplo LINQ en C#

Lo dicho, os dejo unos ejemplos de LINQs

Creo una clase “Libro” que tiene un “Título” y un “Autor”

public class Libro
{
//Propiedades
public string Titulo { get; set; }
public string Autor { get; set; }

//Constructor
public Libro(string titulo, string autor)
{
this.Titulo = titulo;
this.Autor = autor;
}
}

* Si veis un poco rara la forma de declarar las propiedades y no lo entendeis me poneis un comentario y haré otro árticulo sobre el tema.

Con este método creo una lista de libros con la que voy a hacer el ejemplo del LINQ

private List cargaLibros()
{
//Creamos una lista con libros
List  libros = new List
{
new Libro("Pascal 7", "Luis Joyanes"),
new Libro("Enciclopedia C#", "Francisco javier Ceballos"),
new Libro("El código Davinci","Dan Brown"),
new Libro("Ángeles y demonios","Dan Brown")
};
return libros;
}

**bLinq es un ListBox en el que muestro los resultados de los LINQs
Ejemplo de ordenación con LINQ:

private void ordenaLINQ()
{
List libros = cargaLibros();
//Ordeno los libros por el título
var query = from lib in libros
orderby lib.Titulo
select lib;
//Muestro los libros ordenados
foreach (Libro lib in query)
lbLinq.Items.Add(lib.Titulo +"  -  "+lib.Autor);
}

Mismo ejemplo de ordenación pero con la nomenclatura simplificada de LINQ

private void ordenaLINQ1Simplificado()
{
List libros = cargaLibros();
libros = libros.OrderBy(p =>p.Titulo).ToList();
//Muestro los libros ordenados
foreach (Libro lib in libros)
lbLinq.Items.Add(lib.Titulo + "  -  " + lib.Autor);
}

En este ejemplo hacemos una consulta sobre la lista que devuelve los libros de Dan Brown ordenados por el título

private void selecLINQ1()
{
List libros = cargaLibros();
//Selecciono los libros de Dan Brown y los ordeno por título
var query = from lib in libros
where lib.Autor.Equals("Dan Brown")
orderby lib.Titulo
select lib;
//Muestro los libros
foreach (Libro lib in query)
lbLinq.Items.Add(lib.Titulo + "  -  " + lib.Autor);
}

Mismo ejemplo anterior con la nomenclatura simplificada de LINQ

private void selectLINQ1Simplificado()
{
List libros = cargaLibros();
libros = libros.Where(p => p.Autor == "Dan Brown").OrderBy(p => p.Titulo).ToList();
//Muestro los libros
foreach (Libro lib in libros)
lbLinq.Items.Add(lib.Titulo + "  -  " + lib.Autor);
}

Espero que os sirva. Un saludo!

No hay artículos relacionados. Echa un ojo a estos:

    Posted in Sin categoría.


    One Response

    Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

    1. Gustavo Gonzalez says

      Estos ejemplos son increibles!, muchas gracias!.



    Some HTML is OK

    or, reply to this post via trackback.