2011-01-19 22 views
15

Ho lavorato con elenchi in C# e mi chiedevo come fare per ordinare facilmente un elenco che non ha sempre valori per campi specifici.Ordinamento di una lista con valori nulli

Se, ad esempio, c'era un elenco di persone e ognuna di esse aveva uno DateOfBirth e volevo ordinare tutte le persone, anche quelle senza quel campo specifico, ma vorrei che fossero separate dall'originale gruppo (quelli con DOB).

So che probabilmente è possibile farlo con LINQ ma non sono sicuro di come affrontarlo.

Qualsiasi aiuto sarebbe molto apprezzato!

risposta

14

credo che qualcosa di simile sarà compiere ciò che si sta cercando (utilizzando LINQ), o forse il punto è nella giusta direzione:

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

Se siete alla ricerca di ulteriori informazioni sullo stesso argomento, si potrebbe voler controllare il seguente articolo: Sorting Lists with Null Values - Deborah Kurata