Lo dicho, os dejo unos ejemplos de LINQs
Creo una clase “Libro” que tiene un “Título” y un “Autor”
{
//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
**bLinq es un ListBox en el que muestro los resultados de los LINQs
Ejemplo de ordenación con LINQ:
{
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
{
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
{
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
{
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!
Estos ejemplos son increibles!, muchas gracias!.