miércoles, 28 de julio de 2021

Métodos de Extensión para LINQ

 Hace poco comencé a estudiar LINQ porque lo necesito para trabajar en un proyecto NET así que aquí dejo mis apuntes que espero sirvan de estudio para otras personas.

NOTA: para todos los ejemplos usaré esta colección de pruebas: https://gist.github.com/Irwin1985/d928abd85cef9270583f51ff2b40fb29


A continuación voy a detallar la lista de los 51 métodos de extensión para LINQ:

CategoríaOperador estándar de consulta
FiltrosWhere, OfType
OrdenamientoOrderBy, OrderByDescending, ThenBy, ThenByDescending, Reverse
AgrupadoresGroupBy, ToLookup
EncuentroGroupJoin, Join
ProyecciónSelect, SelectMany
AgregadoresAggregate, Average, Count, LongCount, Max, Min, Sum
ContadoresAll, Any, Contains
ElementosElementAt, ElementAtOrDefault, First, FirstOrDefault, Last, LastOrDefault, Single, SingleOrDefault
ConjuntosDistinct, Except, Intersect, Union
ParticionesSkip, SkipWhile, Take, TakeWhile
ContatenadoresConcat
IgualadoresSequenceEqual
GeneradoresDefaultEmpty, Empty, Range, Repeat
ConversionesAsEnumerable, AsQueryable, Cast, ToArray, ToDictionary, ToList


Operadores de Filtros

WhereRetorna todos aquellos valores que coincidan con el criterio dado.
OfTypeReturns values from the collection based on a specified type. However, it will depend on their ability to cast to a specified type.

Ejemplo con Where:

var adolescentes = listaPersonas.Where(s => s.Edad > 12 && s.Edad < 20);