List - Doorlopen en handige methodes

Alle elementen weergeven

Als je alle elementen van een lijst wil tonen, heb je twee opties: een for-lus of een foreach-lus.


Optie 1: for-lus

Je gebruikt Count als stopconditie en de index [i] om elk element op te halen.

List<string> namen = new List<string>() { "Ali", "Fatima", "Lucas" };

for (int i = 0; i < namen.Count; i++)
{
    Console.WriteLine(namen[i]);
}

Uitvoer:

Ali
Fatima
Lucas

Optie 2: foreach-lus

De foreach-lus is speciaal ontworpen voor collecties. Hij is eenvoudiger dan een for-lus: je hoeft geen index bij te houden.

List<string> namen = new List<string>() { "Ali", "Fatima", "Lucas" };

foreach (string naam in namen)
{
    Console.WriteLine(naam);
}

Uitvoer:

Ali
Fatima
Lucas

Hoe werkt foreach? Bij elke herhaling haalt de lus automatisch het volgende element op en stopt het in de variabele naam. Je schrijft het type van de elementen (string) en geeft de variabele een naam naar keuze.

Wanneer welke lus?

  • Gebruik for als je de index nodig hebt (bijv. voor nummering: 1. Ali, 2. Fatima).
  • Gebruik foreach als je enkel de waarden nodig hebt (eenvoudiger en leesbaarder).

Handige methodes

Contains() — is dit element aanwezig?

Contains() controleert of een waarde in de lijst zit. Het resultaat is true of false.

List<string> namen = new List<string>() { "Ali", "Fatima", "Lucas" };

bool aanwezig = namen.Contains("Fatima");

if (aanwezig)
{
    Console.WriteLine("Fatima staat in de lijst.");
}
else
{
    Console.WriteLine("Fatima staat niet in de lijst.");
}

Uitvoer:

Fatima staat in de lijst.

Sort() — sorteren

Sort() sorteert de lijst. Teksten worden alfabetisch gesorteerd, getallen van klein naar groot.

List<string> namen = new List<string>() { "Lucas", "Ali", "Fatima" };

namen.Sort();

foreach (string naam in namen)
{
    Console.WriteLine(naam);
}

Uitvoer:

Ali
Fatima
Lucas

Let op

Sort() wijzigt de originele lijst. Na Sort() is de volgorde van de elementen veranderd.


Reverse() — volgorde omdraaien

Reverse() keert de volgorde van alle elementen om. Dit is niet hetzelfde als sorteren van groot naar klein — het draait gewoon de huidige volgorde om.

List<int> getallen = new List<int>() { 1, 2, 3, 4, 5 };

getallen.Reverse();

foreach (int getal in getallen)
{
    Console.WriteLine(getal);
}

Uitvoer:

5
4
3
2
1

IndexOf() — zoek de positie van een element

IndexOf() geeft de index (positie) terug van het eerste voorkomen van een element. Als het element niet gevonden wordt, geeft de methode -1 terug.

List<string> namen = new List<string>() { "Ali", "Fatima", "Lucas" };

int positie = namen.IndexOf("Fatima");
Console.WriteLine(positie);  // 1

int nietGevonden = namen.IndexOf("Jana");
Console.WriteLine(nietGevonden);  // -1

Overzicht handige methodes

Methode Wat doet het? Geeft terug
Contains(element) Staat het element in de lijst? bool
Sort() Sorteert de lijst (alfabetisch / klein→groot) niets
Reverse() Draait de volgorde om niets
IndexOf(element) Geeft de positie van het element int (-1 als niet gevonden)

Volledig voorbeeld

using System;
using System.Collections.Generic;

List<int> scores = new List<int>() { 72, 88, 55, 91, 66 };

Console.WriteLine("Originele volgorde:");
foreach (int score in scores)
{
    Console.WriteLine(score);
}

scores.Sort();

Console.WriteLine("Na sorteren:");
foreach (int score in scores)
{
    Console.WriteLine(score);
}

Console.WriteLine(scores.Contains(88));      // True
Console.WriteLine(scores.IndexOf(91));       // 4

Uitvoer:

Originele volgorde:
72
88
55
91
66
Na sorteren:
55
66
72
88
91
True
4