VB.Net-arrays: String, dynamisch met VOORBEELDEN
Wat is een matrix?
Een array is een gegevensstructuur die wordt gebruikt om elementen van hetzelfde gegevenstype op te slaan. De elementen zijn opeenvolgend geordend, waarbij het eerste element zich op index 0 bevindt en het laatste element op index n-1, waarbij n het totale aantal elementen in de array is.
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 integer-gegevenstype bevatten. Het volgende voorbeeld laat zien hoe we een array kunnen declareren om string-elementen te bevatten:
Dim myData(10) As String
We hebben een array met de naam myData gedefinieerd die 10 strings kan bevatten.
We kunnen arrays initialiseren op het moment dat ze worden gedeclareerd. 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 voor 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 een vast formaat
Een array met een vaste grootte bevat een vast aantal elementen. Dit betekent dat u het aantal elementen moet definiëren dat het tijdens de definitie zal bevatten. Stel dat je een array nodig hebt die slechts drie leerlingnamen kan bevatten. U kunt de array als volgt definiëren en initialiseren:
Dim students(0 to 2) As String students(0) = "John" students (1) = "Alice" students (2) = "Antony"
We begonnen met het declareren van een string array genaamd students. De 0 tot 2 declareert dat de array elementen zal opslaan van index 0 tot index 2, 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 op index 0 van de array, wat betekent dat deze het eerste element van de array zal vormen. Antony zal het laatste element van de array zijn.
Dynamische arrays
Dit is een array die een willekeurig aantal elementen kan bevatten. De arraygrootte kan op elk moment groeien. 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 array van 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 de grootte ervan te wijzigen. U moet de ReDim-instructie als volgt gebruiken:
ReDim nums(1) nums(0) = 12 nums(1) = 23
Onze array heeft nu twee elementen in de indexen 0 en 1. We moeten er een derde element aan toevoegen op index 3, terwijl we de twee elementen die het al heeft behouden. 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 verkrijgen tot de array-elementen. Om toegang te krijgen tot een array-element gebruiken we de index ervan. Laten we dit aantonen 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 Module1 Sub Main() Dim students(0 to 2) As String students(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 Sub End Module
Stap 3) Voer de code uit door op de Start-knop in de werkbalk te klikken. U krijgt het volgende venster:
We hebben de volgende code gebruikt:
Verklaring van code:
- Een module maken met de naam Module1.
- Het creëren van de hoofdsubprocedure.
- Een array maken met de naam studenten om tekenreekselementen op te slaan. De array slaat elementen op van index 0 tot index 2, wat betekent dat er in totaal 3 elementen zijn.
- De naam John toevoegen als het eerste element van de array, dat wil zeggen: John opgeslagen op index 0.
- De naam Alice toevoegen als het tweede element van de array, dat wil zeggen Alice opgeslagen in index 1.
- De naam Antony wordt toegevoegd als het derde element van de array, dat wil zeggen Antony opgeslagen in index 2.
- Het afdrukken van wat tekst en het element dat is opgeslagen op index 0 van de array-studenten op de console. De studenten(0) helpt ons toegang te krijgen tot het element op index 0 van de array met de naam studenten.
- Het afdrukken van wat tekst en het element dat is opgeslagen op index 1 van de array-studenten op de console. De studenten(1) helpt ons toegang te krijgen tot het element op index 1 van de array met de naam studenten.
- Het afdrukken van wat tekst en het element dat is opgeslagen op index 2 van de array-studenten op de console. De studenten(2) helpt ons toegang te krijgen tot het element op index 2 van de array met de naam studenten.
- Het consolevenster pauzeren, wachtend of de gebruiker actie onderneemt om het te sluiten.
- Einde van de subprocedure.
- Einde van de module.
Nieuwe elementen aan een array toevoegen
Dit gebeurt alleen als u een dynamische array hebt. Als u een array met vaste grootte hebt gedeclareerd en deze vol array-elementen zit, kunt u er geen nieuwe elementen aan toevoegen. Het volgende voorbeeld laat zien hoe u nieuwe elementen aan een dynamische array toevoegt:
Stap 1) Begin met het maken van een nieuwe consoletoepassing.
Stap 2) Voeg de volgende code toe aan de applicatie:
Module Module1 Sub Main() Dim nums() As Integer ReDim nums(1) nums(0) = 12 nums(1) = 23 For x = 0 To nums.Length - 1 Console.WriteLine("Initial array element: {0}", nums(x)) Next ReDim Preserve nums(2) nums(2) = 35 For x = 0 To nums.Length - 1 Console.WriteLine("Final array element: {0}", nums(x)) Next Console.ReadKey() End Sub End 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 code:
- Een module maken met de naam Module1.
- Het creëren van de hoofdsubprocedure.
- Een array maken met de naam nums om gehele waarden te bevatten.
- Hiermee wordt aangegeven dat de bovenstaande matrix twee elementen opslaat, dat wil zeggen op index 0 en 1, terwijl er ruimte is voor het wijzigen van de grootte.
- Het element 12 toevoegen aan de index 0 van array nums.
- Het element 23 toevoegen aan de index 1 van array nums.
- Door een for-lus te gebruiken om een variabele x te maken, kunnen we van de eerste naar de laatste elementen van de array nums itereren. Merk op dat de array nu twee elementen heeft, 12 en 23.
- Een stukje 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.
- Wijzig het formaat van de array nums om elementen met indexen 0 tot 2 toe te staan. Er kunnen nu 3 elementen worden opgeslagen in plaats van 2. Het trefwoord Preserve helpt ons de huidige elementen van de array te behouden, dat wil zeggen 12 en 23.
- Het element 35 wordt toegevoegd aan index 2 van de array. De array heeft nu drie elementen, 12, 23 en 35.
- Door een for-lus te gebruiken om een variabele x te maken, kunnen we van de eerste naar de laatste elementen van de array nums itereren. Merk op dat de array nu drie elementen heeft, 12, 23 en 35.
- Een stukje 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 en wacht tot de gebruiker actie onderneemt om het te sluiten.
- Einde van de subprocedure.
- Einde van de module.
Een array verwijderen
Het wordt aanbevolen dat u uw array wist nadat u er klaar mee bent, vooral als u met een dynamische array te maken heeft. Dit zal u helpen wat geheugenruimte vrij te maken.
Om een array te verwijderen, hoeft u alleen maar de instructie Erase aan te roepen, gevolgd door de naam van de array. Bijvoorbeeld:
Dim nums(1) As Integer nums(0) = 12 nums(1) = 23 Erase nums
We hebben een array van gehele getallen met de naam nums gedeclareerd en er twee elementen aan toegevoegd. De instructie Erase nums wist de array.
De splitsfunctie
De split-functie van Visual Basic .NET helpt ons een string in delen te splitsen en ze in een array te houden. Het volgende voorbeeld laat zien hoe u deze functie gebruikt:
Stap 1) Maak een nieuwe consoletoepassing.
Stap 2) Voeg de volgende code toe aan de applicatie:
Module Module1 Sub Main() Dim myarray() As String Dim guru99 As String Dim x As Integer guru99 = "Welcome, to, Guru99" myarray = Split(guru99, ", ") For x = LBound(myarray) To UBound(myarray) Console.WriteLine(myarray(x)) Next Console.ReadKey() End Sub End 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 code:
- Een module maken met de naam Module1.
- Het starten van de hoofdsubprocedure.
- Een array maken met de naam myarray om tekenreekswaarden op te slaan.
- Een stringvariabele maken met de naam guru99.
- Een integer-variabele maken met de naam x.
- Een string toewijzen aan de variabele guru99.
- De bovenstaande String in delen splitsen en deze in de array met de naam myarray plaatsen. De “,” (komma) is het scheidingsteken, daarom zal de splitsfunctie dit 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.
- Het afdrukken van de waarden van de array met de naam myarray op de console.
- De for-lus beëindigen en
De join-functie
De join-functie helpt ons om meerdere arrays samen te voegen tot één string. Het volgende voorbeeld demonstreert dit:
Stap 1) Begin met het maken van een nieuwe consoletoepassing.
Stap 2) Voeg de volgende code toe aan de applicatie:
Module Module1 Sub Main() Dim students(0 To 2) As String students(0) = "John" students(1) = "Alice" students(2) = "Antony" Dim classmates As String classmates = Join(students, ", ") Console.WriteLine(classmates) Console.ReadKey() End Sub End 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 code:
- Een module maken met de naam Module1.
- Het creëren van de hoofdsubprocedure.
- Een array maken met de naam studenten om 3 tekenreekswaarden te bevatten.
- De naam John toevoegen aan index 0 van de array.
- De naam Alice toevoegen aan index 1 van de array.
- De naam Antony toevoegen aan index 2 van de array.
- Het definiëren van een variabele met de naam klasgenoten van het stringgegevenstype.
- Alle elementen van de array students samenvoegen en scheiden met een , (komma). Het resultaat van deze bewerking wordt toegewezen aan de variabele classmates.
- Afdrukken van de inhoud van de klasgenotenvariabele op de console.
- Het consolevenster pauzeren, wachtend tot de gebruiker actie onderneemt om het te sluiten.
- Beëindiging van de hoofdsubprocedure.
- Beëindigen van de module.
Samenvatting
- Arrays worden gebruikt voor het opslaan van gegevenselementen die daarbij horen data type.
- Met een dynamische array kan de gebruiker het formaat ervan wijzigen door er meer elementen aan toe te voegen. Je gebruikt het commando ReDim voor het toevoegen van elementen aan een bestaande array
- De grootte van een array met een vaste grootte kan niet worden gewijzigd.
- De array-elementen zijn geordend met behulp van indexen, waarbij het eerste element zich op index 0 bevindt en het laatste element op index n-1, waarbij n het totale aantal array-elementen is.
- Arrays kunnen worden verwijderd met de functie Erase
- U kunt de functies splitsen en samenvoegen gebruiken om respectievelijk een stringarray te splitsen of samen te voegen