sintaxis c# linq

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>>