List sort/find

Når vi har oprette klassen Person kan vi også lave en liste af personer. Da både larer og elev nedarver fra Person kan vi også gemme disse i listen. Det foregår sådan her.

Det smarte ved at sætte personer i en list er at vi nu kan anvende indbyggede funktioner i list til at sortere og søge i listen.
Det kræver dog at vi først oprette en "delegate" det vil sige en metode der kan hjælpe programmet med at sammenligne to objekter. Metoden tager to objekter at type person og returnerer -1, 1 eller 0 afhængig af hvilket objekt som er størst på den parameter der sammenlignes på.
Her ses metoderne SortByName og SortByEmail.
Sortering foregår således.

På samme måde kan vi også anvende indbyggede søgefunktioner. Her skal vi lave en metode programmet kan anvende til at fortælle hvad der søges efter. I dette tilfælde navnet Jens.

Hvis det skal være rigtig smart kan vi lave funktionen i vha en anden funktion. Her er det FindByName der returnerer en funktion der finder en navn.

Endelig kan man anvende lambda expressions