Wat is een array?
Een array is een gegevensstructuur die wordt gebruikt om elementen van hetzelfde gegevenstype op te slaan. De elementen worden opeenvolgend geordend, waarbij het eerste element op index 0 staat en het laatste element op index n-1, waarbij n het totale aantal elementen in de array is.
In deze tutorial leer je:
- Wat is een array?
- Een array declareren en initialiseren
- Arrays met vaste grootte
- Dynamische arrays
- De inhoud van een array ophalen
- Nieuwe elementen aan een array toevoegen
- Een array wissen
- De splitfunctie
- De Join-functie
Een array declareren en initialiseren
In VB.NET worden arrays gedeclareerd met behulp van de Dim-instructie. Bijvoorbeeld:
Dim myData() As Integer
In het bovenstaande voorbeeld hebben we een array met de naam myData gedefinieerd en deze moet elementen van het gegevenstype integer bevatten. Het volgende voorbeeld laat zien hoe we een array kunnen declareren om stringelementen te bevatten:
Dim myData(10) As String
We hebben een array met de naam myData gedefinieerd om 10 strings te bevatten.
We kunnen arrays initialiseren op het moment van hun aangifte. Bijvoorbeeld:
Dim myData() As Integer = {11, 12, 22, 7, 47, 32}
We hebben de array myData gedeclareerd en er 6 integer-elementen aan toegevoegd. Dit kan ook worden gedaan in het geval van strings:
Dim students() As String = {"John", "Alice", "Antony", "Gloria", "jayden"}
We hebben een array met de naam studenten gemaakt en er 5 namen aan toegevoegd.
Arrays met vaste grootte
Een array met een vaste grootte bevat een vast aantal elementen. Dit betekent dat u het aantal elementen moet definiëren dat het zal bevatten tijdens het definiëren. Stel dat u een array nodig heeft die slechts 3 studentennamen kan bevatten. U kunt de array als volgt definiëren en initialiseren:
Dim students(0 to 2) As Stringstudents(0) = "John"students (1) = "Alice"students (2) = "Antony"
We begonnen met het declareren van een string-array met de naam students. De 0 tot 2 geeft aan dat de array elementen van zijn index 0 tot index 2 zal opslaan, wat betekent dat we in totaal 3 elementen zullen hebben.
Om elementen aan de array toe te voegen, hebben we de arraynaam gebruikt en de index gespecificeerd waarin het element zal worden opgeslagen. De naam John wordt bijvoorbeeld opgeslagen in index 0 van de array, wat betekent dat deze het eerste element van de array vormt. Antony is het laatste element van de array.
Dynamische arrays
Dit is een array die een willekeurig aantal elementen kan bevatten. De array-grootte kan op elk moment toenemen. Dit betekent dat u op elk gewenst moment nieuwe elementen aan de array kunt toevoegen. Om dit aan te tonen, definiëren we eerst een reeks gehele getallen:
Dim nums() As Integer
We hebben een array met gehele getallen gedefinieerd met de naam nums. U moet nu twee elementen aan de array toevoegen, terwijl u ruimte geeft om het formaat te wijzigen. U moet de ReDim-instructie als volgt gebruiken:
ReDim nums(1)nums(0) = 12nums(1) = 23
Onze array heeft nu twee elementen in index 0 en 1. We moeten er een derde element aan toevoegen op index 3 met behoud van de twee elementen die het al heeft. We kunnen het als volgt doen:
ReDim Preserve nums(2)nums(2) = 35
De array heeft nu drie elementen.
De inhoud van een array ophalen
Ophalen betekent toegang krijgen tot de array-elementen. Om toegang te krijgen tot een array-element, gebruiken we zijn index. Laten we dit demonstreren aan de hand van een voorbeeld.
Stap 1) Begin met het maken van een nieuwe consoletoepassing.
Stap 2) Voeg de volgende code toe aan de applicatie:
Module Module1Sub Main()Dim students(0 to 2) As Stringstudents(0) = "John"students(1) = "Alice"students(2) = "Antony"Console.WriteLine("First student is {0} ", students(0))Console.WriteLine("Second student is {0} ", students(1))Console.WriteLine("Third student is {0} ", students(2))Console.ReadKey()End SubEnd Module
Stap 3) Voer de code uit door op de Start-knop in de werkbalk te klikken. U krijgt het volgende venster te zien:
We hebben de volgende code gebruikt:
Verklaring van de code:
- Een module maken met de naam Module1.
- Het creëren van de belangrijkste subprocedure.
- Een array met de naam students maken om stringelementen op te slaan. De array slaat elementen op van index 0 tot index 2, wat betekent dat het in totaal 3 elementen heeft.
- De naam John toevoegen als het eerste element van de array, dat wil zeggen, John opgeslagen in index 0.
- De naam Alice toevoegen als het tweede element van de array, dat wil zeggen Alice opgeslagen in index 1.
- De naam Antony toevoegen als het derde element van de array, dat wil zeggen Antony opgeslagen in index 2.
- Afdrukken van wat tekst en het element opgeslagen in index 0 van de array-studenten op de console. De students (0) helpt ons toegang te krijgen tot het element op index 0 van de array met de naam students.
- Afdrukken van wat tekst en het element dat is opgeslagen in index 1 van de array-studenten op de console. De students (1) helpt ons toegang te krijgen tot het element op index 1 van de array met de naam students.
- Afdrukken van wat tekst en het element dat is opgeslagen in index 2 van de array-studenten op de console. De students (2) helpen ons toegang te krijgen tot het element op index 2 van de array met de naam students.
- Het wachtende consolevenster pauzeren of de gebruiker actie ondernemen om het te sluiten.
- Einde van de deelprocedure.
- Einde van de module.
Nieuwe elementen aan een array toevoegen
Dit gebeurt alleen als u een dynamische array heeft. Als u een dimensionale array met een vaste grootte had gedeclareerd en deze vol met array-elementen staat, kunt u er geen nieuwe elementen aan toevoegen. Het volgende voorbeeld laat zien hoe u nieuwe elementen aan een dynamische array kunt toevoegen:
Stap 1) Begin met het maken van een nieuwe consoletoepassing.
Stap 2) Voeg de volgende code toe aan de applicatie:
Module Module1Sub Main()Dim nums() As IntegerReDim nums(1)nums(0) = 12nums(1) = 23For x = 0 To nums.Length - 1Console.WriteLine("Initial array element: {0}", nums(x))NextReDim Preserve nums(2)nums(2) = 35For x = 0 To nums.Length - 1Console.WriteLine("Final array element: {0}", nums(x))NextConsole.ReadKey()End SubEnd Module
Stap 3) Klik op de Start-knop in de werkbalk om de code uit te voeren. U zou het volgende venster moeten krijgen:
We hebben de volgende code gebruikt:
Verklaring van de code:
- Een module maken met de naam Module1.
- Het creëren van de belangrijkste subprocedure.
- Een array met de naam nums maken om gehele getallen vast te houden.
- Specificeren dat de bovenstaande array twee elementen zal opslaan, dat wil zeggen, op index 0 en 1, terwijl er ruimte is om de grootte te wijzigen.
- Het element 12 toevoegen aan de index 0 van matrixnummers.
- Het element 23 toevoegen aan de index 1 van array nums.
- Een for-lus gebruiken om een variabele x te maken om ons te helpen bij het herhalen van de eerste naar de laatste elementen van de array nums. Merk op dat de array nu twee elementen heeft, 12 en 23.
- Wat tekst en de elementen van de array op de console afdrukken.
- De for-lus beëindigen en naar het volgende deel van de code springen.
- Pas de grootte van de array-nummers aan om elementen op indexen 0 tot 2 toe te staan. Het kan nu 3 elementen opslaan in plaats van 2. Het sleutelwoord Preserve helpt ons de huidige elementen van de array te behouden, dat wil zeggen 12 en 23.
- Het element 35 toevoegen aan index 2 van de array. De array heeft nu drie elementen, 12, 23 en 35.
- Een for-lus gebruiken om een variabele x te maken om ons te helpen bij het herhalen van de eerste naar de laatste elementen van de array nums. Merk op dat de array nu drie elementen heeft, 12, 23 en 35.
- Wat tekst en de elementen van de array op de console afdrukken.
- De for-lus beëindigen en naar het volgende deel van de code springen.
- Pauzeer het consolevenster totdat de gebruiker actie onderneemt om het te sluiten.
- Einde van de deelprocedure.
- Einde van de module.
Een array verwijderen
Het wordt aanbevolen om uw array te wissen nadat u ermee klaar bent, meestal als u te maken heeft met een dynamische array. Dit zal u helpen wat geheugenruimte vrij te maken.
Om een array te verwijderen, hoeft u alleen maar de Erase-instructie aan te roepen, gevolgd door de naam van de array. Bijvoorbeeld:
Dim nums(1) As Integernums(0) = 12nums(1) = 23Erase nums
We hebben een array van gehele getallen met de naam nums gedeclareerd en er twee elementen aan toegevoegd. Met de instructie Erase nums wordt de array gewist.
De splitfunctie
De splitsingsfunctie van Visual Basic .NET helpt ons een string in delen te splitsen en ze in een array te bewaren. Het volgende voorbeeld laat zien hoe u deze functie kunt gebruiken:
Stap 1) Maak een nieuwe consoletoepassing.
Stap 2) Voeg de volgende code toe aan de applicatie:
Module Module1Sub Main()Dim myarray() As StringDim guru99 As StringDim x As Integerguru99 = "Welcome, to, Guru99"myarray = Split(guru99, ", ")For x = LBound(myarray) To UBound(myarray)Console.WriteLine(myarray(x))NextConsole.ReadKey()End SubEnd Module
Stap 3) Voer de code uit door op de Start-knop in de werkbalk te klikken. U zou het volgende venster moeten krijgen:
We hebben de volgende code gebruikt:
Verklaring van de code:
- Een module maken met de naam Module1.
- Starten van de belangrijkste subprocedure.
- Een array met de naam myarray maken om stringwaarden te bevatten.
- Een stringvariabele maken met de naam guru99.
- Een integervariabele maken met de naam x.
- Een string toewijzen aan de variabele guru99.
- Splits de bovenstaande String in delen en plaats ze in de array met de naam myarray. De "," (komma) is het scheidingsteken, vandaar dat de splitfunctie het zal gebruiken om het einde van de verschillende delen van de string te markeren.
- Gebruik de variabele x om de array met de naam myarray te doorlopen. De LBound en UBound specificeren respectievelijk de ondergrenzen en de bovengrenzen van de array.
- De waarden van de array met de naam myarray op de console afdrukken.
- De for-lus beëindigen en
De Join-functie
De join-functie helpt ons meerdere arrays samen te voegen tot een enkele string. Het volgende voorbeeld laat dit zien:
Stap 1) Begin met het maken van een nieuwe consoletoepassing.
Stap 2) Voeg de volgende code toe aan de applicatie:
Module Module1Sub Main()Dim students(0 To 2) As Stringstudents(0) = "John"students(1) = "Alice"students(2) = "Antony"Dim classmates As Stringclassmates = Join(students, ", ")Console.WriteLine(classmates)Console.ReadKey()End SubEnd Module
Stap 3) Voer de code uit door op de Start-knop op de werkbalk te klikken:
We hebben de volgende code gebruikt:
Verklaring van de code:
- Een module maken met de naam Module1.
- Het creëren van de belangrijkste subprocedure.
- Een array maken met de naam students om 3 stringwaarden te bevatten.
- De naam John toevoegen aan de index 0 van de array.
- De naam Alice toevoegen aan de index 1 van de array.
- De naam Antony toevoegen aan de index 2 van de array.
- Het definiëren van een variabele met de naam klasgenoten van het stringgegevenstype.
- Alle elementen van de array-studenten samenvoegen en ze scheiden met een, (komma). Het resultaat van deze bewerking wordt toegewezen aan de variabele klasgenoten.
- De inhoud van de klasgenotenvariabele op de console afdrukken.
- Het consolevenster pauzeren in afwachting van de actie van de gebruiker om het te sluiten.
- Beëindiging van de belangrijkste subprocedure.
- De module beëindigen.
Overzicht
- Arrays worden gebruikt voor het opslaan van data-elementen die tot hetzelfde datatype behoren.
- Met een dynamische array kan de gebruiker het formaat wijzigen door er meer elementen aan toe te voegen. Je gebruikt het commando ReDim om elementen aan een bestaande array toe te voegen
- De grootte van een array met een vaste grootte kan niet worden gewijzigd.
- De arrayelementen worden geordend met behulp van indexen, waarbij het eerste element op index 0 staat en het laatste element op index n-1, waarbij n het totale aantal arrayelementen is.
- Arrays kunnen worden verwijderd met de functie Wissen
- U kunt de functies splitsen en samenvoegen gebruiken om respectievelijk een reeksreeksen te splitsen of samen te voegen