2011-01-19 23 views
15

He estado trabajando con listas en C# y me preguntaba cómo hacer para ordenar fácilmente una lista que no siempre tiene valores para campos específicos.Ordenando una lista con valores nulos

Si, por ejemplo, hubiera una lista de personas y cada una de ellas tuviera un DateOfBirth y quisiera clasificar a todas las personas, incluso aquellas sin ese campo específico, pero me gustaría que se separaran de las originales grupo (aquellos con DOB).

Sé que esto probablemente podría hacerse con LINQ pero no estoy seguro de cómo abordarlo.

Cualquier ayuda sería muy apreciada!

Respuesta

14

creo que algo como esto va a lograr lo que busca (usando LINQ), o tal vez de apuntar en la dirección correcta:

var sortedList = listOfPeople 
       .OrderBy(p => p.DateOfBirth.HasValue) 
       .ThenBy(p => p.DateOfBirth); 

Si está buscando información adicional sobre el mismo tema, Quizás desee consultar el siguiente artículo: Sorting Lists with Null Values - Deborah Kurata