Introducción
Bienvenida al curso
Prerrequisitos
¿Qué es LINQ?
Programación declarativa vs. imperativa
Utilizando LINQ por primera vez
Configuración de proyecto
Creando el proyecto base
Configurando clases
Importando datos
Operadores básicos
Usando el operador Where
Ejercicio para aplicar el operador Where
Operadores All y Any
Operador Contains
Operadores OrderBy y OrderByDescending
Ejercicio operador OrderBy
Operadores Take y Skip
Selección dinámica de datos
Operadores de agregación
Operadores LongCount y Count
Operadores Min y Max
Operadores MinBy y MaxBy
Operadores Sum y Aggregate
Operador Average
Agrupamiento de datos
Cláusula GroupBy
Ejercicio cláusula GroupBy
Cláusula Lookup
Cláusula Join
Cierre de curso
Recapitulación sobre LINQ
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Aportes 4
Preguntas 0
Les comparto mi funcion generica que aprovecha el uso de funciones anonimas como parametros para filtrar, ordenar y seleccionar los datos dandole dinamismo a la implementacion. considere _librosLt como el listado de libros disponibles para consultar
public IEnumerable<dynamic> GetCustomBook(
Func<Book, dynamic> select,
Func<Book, bool> where,
Func<Book, object> order,
int take,
int skip = 0)
{
return this._librosLt
.Where(where)
.OrderBy(order)
.Take(take)
.Select(select);
}
Y asi seria su invocacion
LinqQueries queries = new LinqQueries();
var selectCustom = queries.GetCustomBook(select: x => new Book { Title = x.Title, PageCount = x.PageCount },
where: x => x.PageCount > 400,
order: x => x.PublishedDate,
take: 4,
skip: 0);
foreach (var i in selectCustom)
Console.WriteLine(string.Format("{0, -60} {1, 15}\n", i.Title, i.PageCount));
public List<Book> getTop3FromBooks(IEnumerable<Book> books){
return books.Take(3).Select(p=> new Book(){Title = p.Title, PageCount = p.PageCount}).ToList();
}
public class BookDTO{
public string Title {get;set;}
public int PageCount {get;set;}
}
public List<BookDTO> getTop3FromBooksQuery(IEnumerable<Book> books){
return (from b in books select new BookDTO{Title = b.Title, PageCount=b.PageCount}).Take(3).ToList();
}
Nos permite seleccionar campos específicos de un objeto, para mejorar el rendimiento y ahorrar espacio en memoria.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
o inicia sesión.