Wat Zijn Lijsten?

Stel je voor dat we een situatie hebben waarin we de namen willen opslaan van alle studenten die een bepaalde cursus volgen. De eerste oplossing waar we aan kunnen denken is het aanmaken van een Array:
index.cs
123456using System; class Program { string[] studentNames = new string[50]; }
Als er echter op een bepaald moment meer dan 50 studenten zijn, kunnen we hun namen niet opslaan. Evenzo, in een situatie waarin er minder dan 50 studenten zijn, zullen de ongebruikte plaatsen in de array geheugen verspillen – dit wordt vooral een probleem bij zeer grote arrays.
Hier hebben we een nieuwe structuur nodig die een variabel aantal elementen kan opslaan. Gelukkig bestaat zo'n structuur al, deze heet een List.
Lists lijken erg op Arrays, maar het aantal elementen dat in een lijst wordt opgeslagen is aanpasbaar.

Het is mogelijk om bestaande elementen in een Array te wijzigen, maar we kunnen er geen nieuwe items aan toevoegen.
De volgende syntax wordt gebruikt om een lege lijst te declareren:

Met deze syntax kunnen we een lijst maken om de namen van studenten op te slaan:
index.cs
12345678910using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string>(); } }
Het is belangrijk om op te merken dat het noodzakelijk is om de module Generic
te importeren om gebruik te kunnen maken van Lists.
index.cs
1using System.Collections.Generic;
Voeg eenvoudig deze regel toe onder using System;
om de vereiste module te importeren.
Add()-methode
Elementen kunnen aan een lijst worden toegevoegd met de methode Add
:
index.cs
123456789101112131415using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string>(); students.Add("Anna"); students.Add("Laura"); students.Add("Jacob"); students.Add("Aron"); } }
De bovenstaande code voegt vier elementen toe aan de lijst students
.
Net zoals een array van het type string
alleen string
-elementen kan bevatten, kan een lijst van het type string
ook alleen string
-elementen accepteren.
Indexering
Het eerste element is Anna
en krijgt dus index 0
, terwijl Laura
index 1
krijgt, enzovoort. Elementen van een lijst kunnen worden benaderd via indexering, net als bij een array:
index.cs
1234567891011121314151617using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string>(); students.Add("Anna"); students.Add("Laura"); students.Add("Jacob"); students.Add("Aron"); Console.WriteLine(students[2]); } }
Count() Methode
De lengte van een lijst kan worden opgehaald met behulp van het Count
-attribuut:
index.cs
123456789101112131415161718using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string>(); students.Add("Anna"); students.Add("Laura"); students.Add("Jacob"); students.Add("Aron"); Console.WriteLine(students[2]); Console.WriteLine(students.Count); } }
Dynamische lengte
Let op dat de lengte van een lijst dynamisch (veranderlijk) is, dus deze verandert wanneer we elementen toevoegen:
index.cs
1234567891011121314151617181920using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string>(); Console.WriteLine(students.Count); students.Add("Anna"); Console.WriteLine(students.Count); students.Add("Laura"); Console.WriteLine(students.Count); students.Add("Jacob"); Console.WriteLine(students.Count); students.Add("Aron"); Console.WriteLine(students.Count); } }
Initialisatie
We kunnen een lijst ook initialiseren met enkele elementen met behulp van de volgende syntaxis:
List<dataType> listName = new List<dataType>{ element1, element2, … };
index.cs
12345678910111213141516using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string> { "Anna", "Laura", "Jacob", "Aron" }; // It is still possible to add additional elements after initialization students.Add("Markus"); Console.WriteLine(students.Count); Console.WriteLine(students[4]); } }
Lijsten doorlopen
Lijsten doorlopen op vergelijkbare wijze als Arrays
Met een for-lus
index.cs
123456789101112131415using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string> { "Anna", "Laura", "Jacob", "Aron" }; for (int i = 0; i < students.Count; i++) { Console.WriteLine(students[i]); } } }
Gebruik van een foreach-lus
index.cs
123456789101112131415using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string> { "Anna", "Laura", "Jacob", "Aron" }; foreach (string studentName in students) { Console.WriteLine(studentName); } } }
Om de declaratiesyntaxis te verkorten, kan ook impliciete declaratie worden gebruikt. Ter herinnering: een expliciete declaratie is wanneer het gegevenstype wordt gespecificeerd tijdens de variabeledeclaratie.
index.cs
1float number = 7.9f;
Aan de andere kant kan bij impliciete declaratie eenvoudig het sleutelwoord var
worden gebruikt en leidt de compiler automatisch het gegevenstype van de variabele af op basis van de toegekende waarde:
index.cs
1var number = 7.9f;
We kunnen ook impliciete declaratie gebruiken bij het declareren van lijsten:
index.cs
1var numbers = new List<int> { 1, 2, 3, 4, 5 };
1. Wat zal de uitvoer zijn van de volgende code:
2. Welke module moet worden geïmporteerd om lijsten te gebruiken?
3. Welke methode wordt gebruikt om de grootte (lengte) van een lijst op te vragen?
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Awesome!
Completion rate improved to 2.04
Wat Zijn Lijsten?
Veeg om het menu te tonen

Stel je voor dat we een situatie hebben waarin we de namen willen opslaan van alle studenten die een bepaalde cursus volgen. De eerste oplossing waar we aan kunnen denken is het aanmaken van een Array:
index.cs
123456using System; class Program { string[] studentNames = new string[50]; }
Als er echter op een bepaald moment meer dan 50 studenten zijn, kunnen we hun namen niet opslaan. Evenzo, in een situatie waarin er minder dan 50 studenten zijn, zullen de ongebruikte plaatsen in de array geheugen verspillen – dit wordt vooral een probleem bij zeer grote arrays.
Hier hebben we een nieuwe structuur nodig die een variabel aantal elementen kan opslaan. Gelukkig bestaat zo'n structuur al, deze heet een List.
Lists lijken erg op Arrays, maar het aantal elementen dat in een lijst wordt opgeslagen is aanpasbaar.

Het is mogelijk om bestaande elementen in een Array te wijzigen, maar we kunnen er geen nieuwe items aan toevoegen.
De volgende syntax wordt gebruikt om een lege lijst te declareren:

Met deze syntax kunnen we een lijst maken om de namen van studenten op te slaan:
index.cs
12345678910using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string>(); } }
Het is belangrijk om op te merken dat het noodzakelijk is om de module Generic
te importeren om gebruik te kunnen maken van Lists.
index.cs
1using System.Collections.Generic;
Voeg eenvoudig deze regel toe onder using System;
om de vereiste module te importeren.
Add()-methode
Elementen kunnen aan een lijst worden toegevoegd met de methode Add
:
index.cs
123456789101112131415using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string>(); students.Add("Anna"); students.Add("Laura"); students.Add("Jacob"); students.Add("Aron"); } }
De bovenstaande code voegt vier elementen toe aan de lijst students
.
Net zoals een array van het type string
alleen string
-elementen kan bevatten, kan een lijst van het type string
ook alleen string
-elementen accepteren.
Indexering
Het eerste element is Anna
en krijgt dus index 0
, terwijl Laura
index 1
krijgt, enzovoort. Elementen van een lijst kunnen worden benaderd via indexering, net als bij een array:
index.cs
1234567891011121314151617using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string>(); students.Add("Anna"); students.Add("Laura"); students.Add("Jacob"); students.Add("Aron"); Console.WriteLine(students[2]); } }
Count() Methode
De lengte van een lijst kan worden opgehaald met behulp van het Count
-attribuut:
index.cs
123456789101112131415161718using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string>(); students.Add("Anna"); students.Add("Laura"); students.Add("Jacob"); students.Add("Aron"); Console.WriteLine(students[2]); Console.WriteLine(students.Count); } }
Dynamische lengte
Let op dat de lengte van een lijst dynamisch (veranderlijk) is, dus deze verandert wanneer we elementen toevoegen:
index.cs
1234567891011121314151617181920using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string>(); Console.WriteLine(students.Count); students.Add("Anna"); Console.WriteLine(students.Count); students.Add("Laura"); Console.WriteLine(students.Count); students.Add("Jacob"); Console.WriteLine(students.Count); students.Add("Aron"); Console.WriteLine(students.Count); } }
Initialisatie
We kunnen een lijst ook initialiseren met enkele elementen met behulp van de volgende syntaxis:
List<dataType> listName = new List<dataType>{ element1, element2, … };
index.cs
12345678910111213141516using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string> { "Anna", "Laura", "Jacob", "Aron" }; // It is still possible to add additional elements after initialization students.Add("Markus"); Console.WriteLine(students.Count); Console.WriteLine(students[4]); } }
Lijsten doorlopen
Lijsten doorlopen op vergelijkbare wijze als Arrays
Met een for-lus
index.cs
123456789101112131415using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string> { "Anna", "Laura", "Jacob", "Aron" }; for (int i = 0; i < students.Count; i++) { Console.WriteLine(students[i]); } } }
Gebruik van een foreach-lus
index.cs
123456789101112131415using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string> { "Anna", "Laura", "Jacob", "Aron" }; foreach (string studentName in students) { Console.WriteLine(studentName); } } }
Om de declaratiesyntaxis te verkorten, kan ook impliciete declaratie worden gebruikt. Ter herinnering: een expliciete declaratie is wanneer het gegevenstype wordt gespecificeerd tijdens de variabeledeclaratie.
index.cs
1float number = 7.9f;
Aan de andere kant kan bij impliciete declaratie eenvoudig het sleutelwoord var
worden gebruikt en leidt de compiler automatisch het gegevenstype van de variabele af op basis van de toegekende waarde:
index.cs
1var number = 7.9f;
We kunnen ook impliciete declaratie gebruiken bij het declareren van lijsten:
index.cs
1var numbers = new List<int> { 1, 2, 3, 4, 5 };
1. Wat zal de uitvoer zijn van de volgende code:
2. Welke module moet worden geïmporteerd om lijsten te gebruiken?
3. Welke methode wordt gebruikt om de grootte (lengte) van een lijst op te vragen?
Bedankt voor je feedback!