sintaxis - linq notation c#
Dividir una lista por fecha distinta (2)
Aquí está la forma de los métodos.
allDates .GroupBy(d => d.Year) .Select(g => g.ToList()) .ToList();
Otra fácil con suerte.
Digamos que tengo una colección como esta:
List<DateTime> allDates;
Quiero convertir eso en
List<List<DateTime>> dividedDates;
donde cada Lista en ''dividedDates'' contiene todas las fechas en ''allDates'' que pertenecen a un año distinto.
¿Hay algún truco de LINQ que mi mente cansada no pueda detectar en este momento?
Solución
La respuesta aceptada es correcta.
Gracias, no creo estar al tanto del bit ''into'' de GroupBy y estaba tratando de usar el tipo de métodos .GroupBy () en lugar de la sintaxis similar a SQL. Y gracias por confirmar la enmienda ToList () e incluirla en la respuesta aceptada :-)
var q = from date in allDates
group date by date.Year into datesByYear
select datesByYear.ToList();
q.ToList(); //returns List<List<DateTime>>