Come odinare numeri pari e dispari ...

Forse un po' per divertimento (forse non per tutti), ma Stefano mi segnala questo simpatico quesito risolto con LINQ: data una lista di numeri pari e dispari non in ordine (ad esempio : 1,7,9, 2, 3, 4, 3, 4, 2, 3, 4, 5, 2, 0, 9) come si separano i numeri pari da quelli dispari ?

 List<int> elenco = new List<int> { 1,7,9, 2, 3, 4, 3, 4, 2, 3, 4, 5, 2, 0, 9 };
var pariEdispari = elenco.OrderBy(s => s % 2 != 0);
var pariEdispariOrdinati = elenco.OrderBy(s => s % 2 != 0).ThenBy(s => s);

foreach (var item in pariEdispariOrdinati)
{
      Console.WriteLine(item);
}

L'operatore ThenBy si può applicare dopo la OrderBy perchè può essere applicato solo ad una IOrderedEnumerable<T> e non ha una IEnumerable<T>

Quante righe di codice ci vorrano mai se non si usasse LINQ ?

Mahh?? Sicuramente non ci penserò durannte il week-end.

Pietro   Click to IM Pietro