wtorek, 13 kwietnia 2010

C# i proste sortowanie

Często musimy posortować listę obiektów do których nie ma standardowych metod porównywania. Bo nam się nie chce ich pisać ;) Albo akurat musimy posortować po numerze PESEL, a nie nazwisku.

Wcześniej w C# jak i w Javie trzeba pisać specjalny komparator na tą jedną okazję - zazwyczaj pisało się go w miejscu, co nie było ani eleganckie, ani przejrzyste.

Na szczęście od pewnego czasu mogą nam przyjść na pomoc wyrażenia lambda. Po blisko 80 latach od wynalezienia teraz w Twoim domu! Lub biurze, jeżeli pracujesz w biurze.

Jak to zrobić? Mówiłem, że to proste, więc przykład ma tylko jedną linijkę ;)
list.Sort((p1, p2) => p1.Pesel.CompareTo(p2.Pesel));

Proste? Proste :)

1 komentarz: