VB.Net-matriser: streng, dynamisk med EKSEMPLER
⚡ Smart oppsummering
VB.Net-arrayer lagrer flere verdier av samme datatype under ett variabelnavn, ved hjelp av en indeks som begynner på null. Både arrayer med fast størrelse og dynamiske arrayer støttes, og funksjonene Split og Join konverterer mellom strenger og arrayer.
Hva er en Array?
En array er en datastruktur som brukes til å lagre elementer av samme data-typeElementene er ordnet sekvensielt, der det første elementet har indeks 0 og det siste elementet har indeks n-1, der n er det totale antallet elementer i tabellen.
Hvordan deklarere og initialisere en matrise
In VB.Net, er matriser deklarert ved å bruke Dim-setningen. For eksempel:
Dim myData() As Integer
I eksemplet ovenfor har vi definert en matrise kalt myData, og den skal inneholde elementer av heltallsdatatypen. Følgende eksempel viser hvordan vi kan erklære en matrise for å inneholde strengelementer:
Dim myData(10) As String
Vi har definert en matrise kalt myData for å inneholde 10 strenger.
Vi kan initialisere arrays på tidspunktet for deres erklæring. For eksempel:
Dim myData() As Integer = {11, 12, 22, 7, 47, 32}
Vi har erklært arrayen myData og lagt til 6 heltallselementer til den. Dette kan også gjøres for strenger:
Dim students() As String = {"John", "Alice", "Antony", "Gloria", "jayden"}
Vi har opprettet en gruppe som heter studenter og lagt til 5 navn til den.
Arrayer i VB.Net faller inn i to grupper avhengig av om størrelsen deres kan endres etter deklarasjon. Den første gruppen er arrayet med fast størrelse.
Arrays med fast størrelse
En matrise med fast størrelse inneholder et fast antall elementer. Dette betyr at du må definere antall elementer som den skal inneholde under definisjonen. Anta at du trenger en matrise som bare inneholder 3 studentnavn. Du kan definere og initialisere matrisen som følger:
Dim students(0 to 2) As String students(0) = "John" students (1) = "Alice" students (2) = "Antony"
Vi begynte med å erklære en strenggruppe kalt studenter. 0 til 2 erklærer at matrisen vil lagre elementer fra sin indeks 0 til indeks 2, noe som betyr at vi vil ha 3 elementer totalt.
For å legge til elementer i matrisen har vi brukt matrisenavnet og spesifisert indeksen som elementet skal lagres på. For eksempel vil navnet John bli lagret ved indeks 0 av matrisen, noe som betyr at det vil danne det første elementet i matrisen. Antony vil være det siste elementet i matrisen.
Når antallet elementer ikke er kjent på forhånd, blir en dynamisk matrise det bedre valget.
Dynamiske matriser
Dette er en matrise som kan inneholde et hvilket som helst antall elementer. Matrisestørrelsen kan vokse når som helst. Dette betyr at du kan legge til nye elementer til matrisen når som helst vi vil. For å demonstrere dette, la oss først definere en rekke heltall:
Dim nums() As Integer
Vi har definert en heltallsmatrise kalt nums. Du må nå legge til to elementer til matrisen, samtidig som du gir rom for å endre størrelsen på den. Du må bruke ReDim-erklæringen som følger:
ReDim nums(1)
nums(0) = 12
nums(1) = 23
Arrayet vårt har nå to elementer i indeksene 0 og 1. Vi må legge til et tredje element til det ved indeks 3 mens vi beholder de to elementene det allerede har. Vi kan gjøre det som følger:
ReDim Preserve nums(2) nums(2) = 35
Matrisen har nå tre elementer.
Etter at en matrise er fylt ut, er neste oppgave å lese tilbake verdiene den inneholder.
Hente innholdet i en matrise
Henting betyr å få tilgang til array-elementene. For å få tilgang til et matriseelement bruker vi dets indeks. La oss demonstrere dette ved å bruke et eksempel.
Trinn 1) Begynn med å opprette en ny konsollapplikasjon.
Trinn 2) Legg til følgende kode i applikasjonen:
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
Trinn 3) Kjør koden ved å klikke på Start-knappen fra verktøylinjen. Du vil få opp følgende vindu:
Vi har brukt følgende kode:
Forklaring til Code:
- Opprette en modul kalt Module1.
- Opprette hovedunderprosedyren.
- Opprette en matrise som heter elever for å lagre strengelementer. Arrayen vil lagre elementer fra indeks 0 til indeks 2, noe som betyr at den vil ha totalt 3 elementer.
- Å legge til navnet John som det første elementet i matrisen, det vil si at John lagret på indeks 0.
- Å legge til navnet Alice som det andre elementet i matrisen, det vil si Alice lagret i indeks 1.
- Å legge til navnet Antony som det tredje elementet i matrisen, det vil si Antony lagret i indeks 2.
- Skriver ut litt tekst og elementet som er lagret på indeks 0 av array-studentene på konsollen. Studentene(0) hjelper oss med å få tilgang til elementet ved indeks 0 for arrayen navngitte studenter.
- Skriver ut litt tekst og elementet som er lagret på indeks 1 av array-studentene på konsollen. Studentene(1) hjelper oss med å få tilgang til elementet ved indeks 1 for arrayen navngitte studenter.
- Skriver ut litt tekst og elementet som er lagret på indeks 2 av array-studentene på konsollen. Studentene(2) hjelper oss med å få tilgang til elementet ved indeks 2 for arrayen navngitte studenter.
- Setter konsollvinduet på pause og venter på at brukeren skal gjøre noe for å lukke det.
- Slutt på underprosedyren.
- Slutt på modulen.
Legge til nye elementer i en matrise
Dette vil bare skje hvis du har en dynamisk matrise. Hvis du hadde erklært en dimensjonal matrise med fast størrelse og den er full av matriseelementer, kan du ikke legge til nye elementer til den. Følgende eksempel viser hvordan du legger til nye elementer i en dynamisk matrise:
Trinn 1) Begynn med å opprette en ny konsollapplikasjon.
Trinn 2) Legg til følgende kode i applikasjonen:
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
Trinn 3) Klikk på Start-knappen fra verktøylinjen for å kjøre koden. Du skal få opp følgende vindu:
Vi har brukt følgende kode:
Forklaring til Code:
- Opprette en modul kalt Module1.
- Opprette hovedunderprosedyren.
- Opprette en matrise kalt nums for å inneholde heltallsverdier.
- Spesifiserer at arrayen ovenfor vil lagre to elementer, det vil si ved indeks 0 og 1 mens det gir rom for å endre størrelse.
- Legge til elementet 12 til indeksen 0 for matrisenumre.
- Legge til elementet 23 til indeksen 1 for matrisenumre.
- Bruke en for-løkke for å lage en variabel x for å hjelpe oss med å iterere fra det første til det siste elementet i array-numrene. Merk at matrisen nå har to elementer, 12 og 23.
- Skriver ut litt tekst og elementene i arrayet på konsollen.
- Avslutter for-løkken og jumpenping til neste del av koden.
- Endre størrelsen på array-numrene for å tillate elementer ved indeksene 0 til 2. Den vil nå kunne lagre 3 elementer i stedet for 2. Bevar nøkkelordet hjelper oss å opprettholde de gjeldende elementene i arrayen, det vil si 12 og 23.
- Legge til elementet 35 til indeks 2 av matrisen. Matrisen har nå tre elementer, 12, 23 og 35.
- Bruke en for-løkke for å lage en variabel x for å hjelpe oss med å iterere fra det første til det siste elementet i array-numrene. Merk at matrisen nå har tre elementer, 12, 23 og 35.
- Skriver ut litt tekst og elementene i arrayet på konsollen.
- Avslutter for-løkken og jumpenping til neste del av koden.
- Sett konsollvinduet på pause mens du venter på at brukeren skal gjøre noe for å lukke det.
- Slutt på underprosedyren.
- Slutt på modulen.
Sletting av en matrise
Det anbefales at du sletter matrisen etter at du er ferdig med den, for det meste når du har å gjøre med en dynamisk matrise. Dette vil hjelpe deg å frigjøre litt minneplass.
For å slette en matrise, må du bare ringe Erase-setningen etterfulgt av navnet på matrisen. For eksempel:
Dim nums(1) As Integer nums(0) = 12 nums(1) = 23 Erase nums
Vi har erklært en rekke heltall kalt tall og lagt til to elementer til den. Erase nums-setningen vil slette matrisen.
I tillegg til å lagre verdier, tilbyr VB.Net innebygde funksjoner som konverterer mellom strenger og arrayer. Den første av disse er Split-funksjonen.
Split-funksjonen
Splittfunksjonen i Visual Basic .NET hjelper oss med å dele en streng inn i deler og holde dem i en matrise. Følgende eksempel viser hvordan du bruker denne funksjonen:
Trinn 1) Opprett en ny konsollapplikasjon.
Trinn 2) Legg til følgende kode i applikasjonen:
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
Trinn 3) Kjør koden ved å klikke på Start-knappen fra verktøylinjen. Du skal få opp følgende vindu:
Vi har brukt følgende kode:
Forklaring til Code:
- Opprette en modul kalt Module1.
- Starter hovedunderprosedyren.
- Opprette en matrise kalt myarray for å holde strengverdier.
- Opprette en strengvariabel kalt guru99.
- Opprette en heltallsvariabel kalt x.
- Tilordne en streng til variabelen guru99.
- Deler opp strengen over i deler og plasser dem i arrayen kalt myarray. "," (komma) er skilletegnet, derfor vil split-funksjonen bruke den til å markere slutten på de forskjellige delene av strengen.
- Bruke variabelen x til å iterere gjennom matrisen kalt myarray. LBound og UBound spesifiserer henholdsvis nedre grenser og øvre grenser for matrisen.
- Skriver ut verdiene til matrisen kalt myarray på konsollen.
- Avslutter for-løkken.
Bli med funksjonen
Sammenføyningsfunksjonen hjelper oss med å slå sammen flere matriser i en enkelt streng. Følgende eksempel viser dette:
Trinn 1) Begynn med å opprette en ny konsollapplikasjon.
Trinn 2) Legg til følgende kode i applikasjonen:
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
Trinn 3) Kjør koden ved å klikke på Start-knappen på verktøylinjen:
Vi har brukt følgende kode:
Forklaring til Code:
- Opprette en modul kalt Module1.
- Opprette hovedunderprosedyren.
- Opprette en matrise med navn på elever for å inneholde 3 strengverdier.
- Legge til navnet John til indeksen 0 for matrisen.
- Legge til navnet Alice til indeksen 1 av matrisen.
- Legge til navnet Antony til indeksen 2 av matrisen.
- Definere en variabel kalt klassekamerater av strengdatatypen.
- Koble sammen alle elementene i studentenes array og separer dem med et , (komma). Resultatet av denne operasjonen vil bli tilordnet variabelen klassekamerater.
- Skrive ut innholdet i klassekameratvariabelen på konsollen.
- Setter konsollvinduet på pause og venter på at brukeren skal gjøre noe for å lukke det.
- Avslutter hoveddelprosedyren.
- Avslutter modulen.








