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: