Lijsten in C# is een opsomming van verschillende items in een lijstvorm. Een List<T> omvat een verzameling van elementen van hetzelfde type. Ze zijn geordend en je kunt ze oproepen doormiddel van een index. De index begint altijd met nul.
Men gebruikt zowel de for- als de foreach-lus voor de lijsten te kunnen doorlopen. Met verschillende methoden, zoals toevoegen, verwijderen en sorteren kan je element doorlopen. Met behulp van de List<T>-klassen en de Count eigenschappen kan je nagaan hoeveel aantal elementen erin een list aanwezig zijn.
Een nieuwe lijst aanmaken, vullen met de getallen 1,2 en 3. En daarna afdrukken
getallen.Add(10);
getallen.Add(20);
getallen.Add(30);
List getallen = new List();
foreach (int getal in getallen)
{
Console.WriteLine(getal);
}
Je kan met verschillen soorten methoden de lijsten beïnvloeden.
- Add() => een nieuw element toevoegen aan de lijst
- AddRange() => Voeg meerdere elementen toe aan het einde van de lijst.
- getallen.AddRange(new int[] {60,70,80}); //dit voegt 60, 70 en 80 toe aan de lijst, deze elementen worden aan het einde van de lijst toegevoegd.
- Insert() => Met deze methode kan je op een specifieke plaats in de lijst, een element toevoegen.
- getallen.Insert(1,17)
- Remove() => Met deze methode kan je een specifieke waarde uit een lijst verwijderen. Als er meerdere waardes met dezelfde waarde in de lijst voorkomen, is het enkel de eerste die voorkomt in de lijst, die verwijderd gaat worden.
- getallen.Remove(17)
- RemoveAt() => Verwijdert een element op een specifieke plaats door middel met de index op te roepen van dit element en dan het element te verwijderen
- getallen.RemoveAt(1); // Het tweede element van de lijst wordt hierdoor verwijderd.
- IndexOf() => Deze methode gaat opzoek in de lijst naar de opgeven waarden en geeft de index van de specifieke waarde terug.
- int specifiekeIndex = getallen.IndexOf(6) // Geeft de positie van het getal dat is opgezocht in de lijst, dus retourneert de index van het getal 6 in de lijst.
- Contains() => Deze methode gaat na of het element voorkomt in de lijst
- bool ZesIsAanwezig = getallen.Contains(6); // Gaat na of in de lijst voorkomt.
- Sort() => Deze methode zorgt ervoor dat de lijst gesorteerd wordt in oplopende volgorde.
- Reverse() => de volgorde van de elementen in de lijst, omdraaien.
class="wp-block-heading">De takenlijst als voorbeeld
List<string> takenlijst = new List<string>{“Verven”, “Fiets herstellen”, “Grasmaaien”, “Snoeien”};
// kortere code, maar geeft hetzelfde resultaat als de for-lust hier onder
foreach (string item in takenlijst){
Console.WriteLine(item);
}
// gaat elk item van de lijst printen van de takenlijst
for (int teller = 0;teller<takenlijst.Count;teller++){
Console.WriteLine(takenlijst[teller]);
}
// Print enkel de drie eerste items van de takenlijst
Console.WriteLine(takenlijst[0]);
Console.WriteLine(takenlijst[1]);
Console.WriteLine(takenlijst[2]);
Voorbeelden van de Add, AddRange, Insert, Remove, RemoveAt, Index, Contain, Sort
List<string> namen = new List<string>{“Bob”, “Gert”};
namen.Add(“Jan”);
namen.Add(“Mark”);
namen.Add(“Sven”);
// Printen van de lijst
foreach (string naam in namen){
Console.WriteLine(naam);
}
List<string> todos = new List<string>();
Console.Write(“Wenst u een taak toe te voegen, (j/n)”);
string vraag = Console.ReadLine();
while (vraag == “j”){
Console.Write(“Omschrijf de taak”);
string taak = Console.ReadLine();
todos.Add(taak);
Console.Write(“Wenst u een taak toe te voegen, (j/n)”);
vraag = Console.ReadLine();
}
List<string> lijst = new List<string>{
“Wakker worden”, “ontbijten”, “gaan werken”, “Gaan slapen”
};
// Ontbijten wordt uit de lijst verwijderd
lijst.Remove(“ontbijten”);
foreach(string todo in lijst){
Console.WriteLine(todo);
}
// eerste todo, “Wakker worden”, wordt uit de lijst verwijderd
lijst.RemoveAt(0);
Verwijderen van een item uit de lijst
int teller = 1;
List<string> lijst = new List<string>{
“Wakker worden”, “ontbijten”, “gaan werken”, “Gaan slapen”
};
//Print de lijst
foreach(string todo in lijst)
{
Console.WriteLine($”{teller}. {todo}”);
teller++;
}
Console.WriteLine(“”);
Console.Write(“Welk item wenst u te verwijderen ? : “);
int verwijden_index = Convert.ToInt32(Console.ReadLine());
lijst.RemoveAt(verwijden_index-1);
teller = 1;
foreach(string todo in lijst)
{
Console.WriteLine($”{teller}. {todo}”);
teller++;
}
Vervangen een item in een lijst, list, in C#
int teller = 1;
List<string> lijst = new List<string>{
“Wakker worden”, “ontbijten”, “gaan werken”, “Gaan slapen”
};
//Print de lijst
foreach(string todo in lijst)
{
Console.WriteLine($”{teller}. {todo}”);
teller++;
}
Console.WriteLine();
Console.Write(“Welk item wenst u te verwijderen ? : “);
int wijzig_index = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(“Geef de nieuwe taak in : “);
string wijzig_naam = Console.ReadLine();
lijst[wijzig_index-1] = wijzig_naam;
teller = 1;
foreach(string todo in lijst)
{
Console.WriteLine($”{teller}. {todo}”);
teller++;
}