Drop hier links of afbeeldingen om ze aan de editor toe te voegen.

Een array heeft een vaste lengte: bij het aanmaken leg je vast hoeveel elementen er in passen, en daarna kan dat niet meer veranderen. Dat is lastig zodra je op voorhand niet weet hoeveel waarden je gaat bijhouden. Daarvoor heeft C# de lijst (List).

Een List is een dynamische array: een lijst die automatisch in grootte wordt aangepast wanneer dat nodig is. Je hoeft de lengte dus niet op voorhand te kennen.

Een lijst heeft kant-en-klare methodes om elementen efficiënt toe te voegen, te verwijderen, te zoeken en aan te passen. Net als bij een array kun je elk element ook rechtstreeks benaderen via zijn index.

Een lijst aanmaken

Bij het aanmaken zeg je tussen punthaken < > welk type elementen de lijst zal bevatten: List<int> voor gehele getallen, List<string> voor tekst, enzovoort.

List<int> mijnLijst = new List<int>();
List<string> namen = new List<string>();

De lijst is dan nog leeg: er zitten nog geen elementen in.

De belangrijkste methodes

MethodeBeschrijvingVoorbeeld
lijst.Add(element)Voegt een element toe op het einde van de lijstmijnLijst.Add(1);
lijst.Remove(element)Verwijdert het eerste element dat gelijk is aan de meegegeven waardemijnLijst.Remove(1);
lijst.RemoveAt(index)Verwijdert het element op een bepaalde plaats (index) in de lijstmijnLijst.RemoveAt(0);
lijst[index]Toegang tot een element via zijn index (net als bij een array)int eerste = mijnLijst[0];
lijst.Contains(element)Geeft true terug als het element in de lijst zit, anders falsebool bevat = mijnLijst.Contains(3);

Remove geeft een bool terug: true als er effectief een element verwijderd werd, en false als de waarde niet in de lijst zat. Zo kun je meteen controleren of het verwijderen gelukt is.

Hoeveel elementen zitten erin? Count

De eigenschap Count geeft het aantal elementen in de lijst terug. Merk op: geen ronde haakjes, want het is een eigenschap en geen methode.

List<int> mijnLijst = new List<int>();
mijnLijst.Add(1);
mijnLijst.Add(2);
mijnLijst.Add(3);

int aantalElementen = mijnLijst.Count;
Console.WriteLine("Aantal elementen in de lijst: " + aantalElementen);
Aantal elementen in de lijst: 3

Een lijst doorlopen met foreach

Wil je alle elementen één voor één afgaan, dan gebruik je een foreach-lus, precies zoals bij een array:

foreach (int item in mijnLijst)
{
    Console.WriteLine(item);
}

De lus loopt vanzelf over alle elementen, van het eerste tot het laatste. Je hoeft zelf geen index of teller bij te houden.

In de volgende oefening beheer je zelf een lijst met de namen van studenten in een klas.