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.

  • 🔘 Grunnleggende om arrayer: En matrise lagrer ordnede elementer av én datatype, med det første ved indeks 0 og det siste ved indeks n minus 1.
  • ☑️ Erklæring: Dim-setningen deklarerer en array, som i Dim myData() As Integer, og elementer kan initialiseres inni parenteser.
  • Fast vs. dynamisk: En matrise med fast størrelse inneholder et angitt antall elementer, mens en dynamisk matrise vokser ved hjelp av ReDim- og ReDim Preserve-setningene.
  • 🧪 Tilgang og sletting: Elementer leses gjennom indeksen sin, og Erase-setningen fjerner en array for å frigjøre minne.
  • 🛠️ Splitt og bli med: Split-funksjonen deler en streng opp i en matrise, og Join-funksjonen kombinerer matriseelementer til én streng.
  • 🤖 AI-hjelp: GitHub Copilot og IntelliCode I Visual Studio 2026 genererer du arraydeklarasjoner, løkker og Split- eller Join-kall fra ledetekster på vanlig engelsk.

VB.Net Arrays

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:

Hente innholdet i en matrise

Vi har brukt følgende kode:

Hente innholdet i en matrise

Forklaring til Code:

  1. Opprette en modul kalt Module1.
  2. Opprette hovedunderprosedyren.
  3. 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.
  4. Å legge til navnet John som det første elementet i matrisen, det vil si at John lagret på indeks 0.
  5. Å legge til navnet Alice som det andre elementet i matrisen, det vil si Alice lagret i indeks 1.
  6. Å legge til navnet Antony som det tredje elementet i matrisen, det vil si Antony lagret i indeks 2.
  7. 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.
  8. 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.
  9. 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.
  10. Setter konsollvinduet på pause og venter på at brukeren skal gjøre noe for å lukke det.
  11. Slutt på underprosedyren.
  12. 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:

Legge til nye elementer i en matrise

Vi har brukt følgende kode:

Legge til nye elementer i en matrise

Forklaring til Code:

  1. Opprette en modul kalt Module1.
  2. Opprette hovedunderprosedyren.
  3. Opprette en matrise kalt nums for å inneholde heltallsverdier.
  4. Spesifiserer at arrayen ovenfor vil lagre to elementer, det vil si ved indeks 0 og 1 mens det gir rom for å endre størrelse.
  5. Legge til elementet 12 til indeksen 0 for matrisenumre.
  6. Legge til elementet 23 til indeksen 1 for matrisenumre.
  7. 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.
  8. Skriver ut litt tekst og elementene i arrayet på konsollen.
  9. Avslutter for-løkken og jumpenping til neste del av koden.
  10. 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.
  11. Legge til elementet 35 til indeks 2 av matrisen. Matrisen har nå tre elementer, 12, 23 og 35.
  12. 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.
  13. Skriver ut litt tekst og elementene i arrayet på konsollen.
  14. Avslutter for-løkken og jumpenping til neste del av koden.
  15. Sett konsollvinduet på pause mens du venter på at brukeren skal gjøre noe for å lukke det.
  16. Slutt på underprosedyren.
  17. 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:

Split-funksjonen

Vi har brukt følgende kode:

Split-funksjonen

Forklaring til Code:

  1. Opprette en modul kalt Module1.
  2. Starter hovedunderprosedyren.
  3. Opprette en matrise kalt myarray for å holde strengverdier.
  4. Opprette en strengvariabel kalt guru99.
  5. Opprette en heltallsvariabel kalt x.
  6. Tilordne en streng til variabelen guru99.
  7. 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.
  8. Bruke variabelen x til å iterere gjennom matrisen kalt myarray. LBound og UBound spesifiserer henholdsvis nedre grenser og øvre grenser for matrisen.
  9. Skriver ut verdiene til matrisen kalt myarray på konsollen.
  10. 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:

Bli med funksjonen

Vi har brukt følgende kode:

Bli med funksjonen

Forklaring til Code:

  1. Opprette en modul kalt Module1.
  2. Opprette hovedunderprosedyren.
  3. Opprette en matrise med navn på elever for å inneholde 3 strengverdier.
  4. Legge til navnet John til indeksen 0 for matrisen.
  5. Legge til navnet Alice til indeksen 1 av matrisen.
  6. Legge til navnet Antony til indeksen 2 av matrisen.
  7. Definere en variabel kalt klassekamerater av strengdatatypen.
  8. Koble sammen alle elementene i studentenes array og separer dem med et , (komma). Resultatet av denne operasjonen vil bli tilordnet variabelen klassekamerater.
  9. Skrive ut innholdet i klassekameratvariabelen på konsollen.
  10. Setter konsollvinduet på pause og venter på at brukeren skal gjøre noe for å lukke det.
  11. Avslutter hoveddelprosedyren.
  12. Avslutter modulen.

Spørsmål og svar

Ja. Alle VB.Net-arrayer starter på indeks 0, så det første elementet er på indeks 0 og det siste på indeks n minus 1. Den nedre grensen er alltid 0 og kan ikke endres.

Bruk Length-egenskapen, som returnerer det totale antallet elementer, for eksempel nums.Length. UBound-funksjonen returnerer den høyeste indeksen, og fordi matriser starter på indeks 0, er UBound lik Length minus én.

Kall den delte Array.Sort-metoden og send arrayet, for eksempel Array.Sort(nums). Den omorganiserer elementene i stigende rekkefølge på plass. Bruk Array.Reverse etterpå for å ordne de samme elementene i synkende rekkefølge.

En flerdimensjonal, eller rektangulær, matrise lagrer data i rader og kolonner ved hjelp av komma i parentesene, for eksempel Dim grid(2, 3) As Integer. Hver rad inneholder samme antall elementer.

En taggete array er en array der elementene i seg selv er arrayer, slik at hver rad kan inneholde et ulikt antall elementer. Den deklareres med to sett med parenteser, for eksempel Dim data()() As Integer.

En array har en fast størrelse når den er opprettet, og trenger ReDim for å endre størrelsen. En List(Of T) vokser og krymper automatisk og tilbyr metoder som Legg til, Fjern og Sorter, noe som gjør det enklere når elementantallet endres ofte.

Ja. GitHub Copilot gjør om en kommentar i vanlig engelsk til komplett array-kode, inkludert Dim-deklarasjoner, ReDim-størrelsesendring og Split- eller Join-kall. Gjennomgå alltid hvert forslag for riktige indekser og datatyper før du godtar det.

Ja. Visual Studio 2026 kobler GitHub Copilot med IntelliCode for å autofullføre array-løkker, flagge indekser utenfor rekkevidde mens du skriver og foreslå riktig array-metode, noe som reduserer kjøretidsfeil før du kjører programmet.

Oppsummer dette innlegget med: