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.








