6237 Programmering II (Csharp) Agenda/List sort/find

From Teknologisk videncenter
< 6237 Programmering II (Csharp) Agenda
Revision as of 12:58, 7 October 2015 by Orso (talk | contribs) (List sort/find)
Jump to: navigation, search

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.

static void Main(string[] args)
{
	Laerer l1 = new Laerer("Tommy", "tommys@mail.dk", 25000);
	
	Elev e1 = new Elev("Jens", "jens@mail.dk", "Hold1");
	
	Person p1 = new Laerer("Holger", "holgers@mail.dk",230000);

	List<Person> pLst = new List<Person>();
	pLst.Add(p1);
	pLst.Add(e1);
	pLst.Add(l1);
}

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.


Sort with delegate

Endelig kan man anvende lambda expressions

static void Main(string[] args)
{
	Person p1 = new Person("Tommy", "tommys@mail.dk");		
	Person p2 = new Person("Jens", "jens@mail.dk");
	Person p3 = new Person("Holger", "holgers@mail.dk");
	List<Person> pLst = new List<Person>();
	pLst.Add(p1);
	pLst.Add(p2);
	pLst.Add(p3);

	Person p = pLst.Find(x =>(x.Navn == "Holger"));

        //Eller evt.
        pLst.Sort((x,y) =>(String.Compare(x.Navn,y.Navn));
}