VB.Neti massiivid: string, dünaamiline näidetega

⚡ Nutikas kokkuvõte

VB.Neti massiivid salvestavad sama andmetüübiga mitu väärtust ühe muutuja nime all, kasutades indeksit, mis algab nullist. Toetatud on nii fikseeritud suurusega kui ka dünaamilised massiivid ning funktsioonid Split ja Join teisendavad stringide ja massiivide vahel.

  • 🔘 Massiivi põhitõed: Massiiv salvestab ühte andmetüüpi kuuluvaid järjestatud elemente, kus esimene asub indeksiga 0 ja viimane indeksiga n miinus 1.
  • ☑️ Deklaratsioon: Dim-lause deklareerib massiivi, nagu Dim myData() As Integer, ja elemente saab initsialiseerida nurksulgude sees.
  • Fikseeritud vs dünaamiline: Fikseeritud suurusega massiiv sisaldab kindlat arvu elemente, dünaamiline massiiv aga kasvab ReDim ja ReDim Preserve lausete abil.
  • 🧪 Ligipääs ja kustutamine: Elemendid loetakse läbi nende indeksi ja käsk Erase eemaldab mälu vabastamiseks massiivi.
  • 🛠️ Jaga ja ühenda: Funktsioon Split jagab stringi massiiviks ja funktsioon Join ühendab massiivi elemendid üheks stringiks.
  • 🤖 AI abi: GitHub Copilot ja IntelliCode Visual Studio 2026-s genereerige tavakeelsete viipade abil massiivideklaratsioone, tsükleid ning Split- või Join-kõnesid.

VB.Neti massiivid

Mis on massiiv?

Massiiv on andmestruktuur, mida kasutatakse sama suurusega elementide salvestamiseks andmetüüpElemendid on järjestatud nii, et esimene element on indeksiga 0 ja viimane element indeksiga n-1, kus n on massiivi elementide koguarv.

Kuidas massiivi deklareerida ja lähtestada

In VB.Net, massiivid deklareeritakse Dim-lause abil. Näiteks:

Dim myData() As Integer

Ülaltoodud näites oleme määratlenud massiivi nimega myData ja see peaks sisaldama täisarvu andmetüübi elemente. Järgmine näide näitab, kuidas saame deklareerida massiivi stringielementide hoidmiseks:

Dim myData(10) As String

Oleme määratlenud massiivi nimega myData, mis sisaldab 10 stringi.

Saame massiive initsialiseerida nende deklareerimise ajal. Näiteks:

Dim myData() As Integer = {11, 12, 22, 7, 47, 32}

Oleme deklareerinud massiivi myData ja lisanud sellele 6 täisarvu elementi. Seda saab teha ka stringide puhul:

Dim students() As String = {"John", "Alice", "Antony", "Gloria", "jayden"}

Oleme loonud massiivi nimega õpilased ja lisanud sellele 5 nime.

VB.Neti massiivid jagunevad kahte rühma olenevalt sellest, kas nende suurus pärast deklareerimist muutub. Esimene rühm on fikseeritud suurusega massiivid.

Fikseeritud suurusega massiivid

Fikseeritud suurusega massiiv sisaldab fikseeritud arvu elemente. See tähendab, et peate määratlema elementide arvu, mida see määratlemise ajal säilitab. Oletame, et vajate massiivi, mis sisaldab ainult 3 õpilase nime. Massiivi saate määratleda ja lähtestada järgmiselt.

Dim students(0 to 2) As String 
      
students(0) = "John"
students (1) = "Alice"
students (2) = "Antony"

Alustuseks kuulutasime välja stringimassiivi nimega õpilased. 0 kuni 2 deklareerib, et massiiv salvestab elemente indeksist 0 kuni indeksini 2, mis tähendab, et meil on kokku 3 elementi.

Elementide massiivi lisamiseks oleme kasutanud massiivi nime ja määranud indeksi, kuhu element salvestatakse. Näiteks nimi John salvestatakse massiivi indeksisse 0, mis tähendab, et see moodustab massiivi esimese elemendi. Antony on massiivi viimane element.

Kui elementide arv pole ette teada, on dünaamiline massiiv parim valik.

Dünaamilised massiivid

See on massiiv, mis mahutab suvalise arvu elemente. Massiivi suurus võib igal ajal kasvada. See tähendab, et saate massiivi igal ajal uusi elemente lisada. Selle demonstreerimiseks määratleme esmalt täisarvude massiivi:

Dim nums() As Integer

Oleme määratlenud täisarvu massiivi nimega nums. Nüüd peate massiivile lisama kaks elementi, jättes samas ruumi selle suuruse muutmiseks. Peate kasutama ReDimi avaldust järgmiselt.

ReDim nums(1)
nums(0) = 12
nums(1) = 23

Meie massiivil on nüüd kaks elementi indeksites 0 ja 1. Peame sellele lisama kolmanda elemendi indeksis 3, säilitades samal ajal kaks elementi, mis sellel juba on. Saame seda teha järgmiselt:

ReDim Preserve nums(2)
nums(2) = 35

Massiivil on nüüd kolm elementi.

Pärast massiivi täitmist on järgmine ülesanne selles olevate väärtuste tagasilugemine.

Massiivi sisu otsimine

Otsimine tähendab juurdepääsu massiivi elementidele. Massiivielemendile juurde pääsemiseks kasutame selle indeksit. Näitame seda näite abil.

1. samm) Alustage uue konsoolirakenduse loomisega.

2. samm) Lisage rakendusele järgmine kood:

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

3. samm) Käivitage kood, klõpsates tööriistaribal nuppu Start. Teile kuvatakse järgmine aken:

Massiivi sisu otsimine

Oleme kasutanud järgmist koodi:

Massiivi sisu otsimine

Selgitus Code:

  1. Mooduli Module1 loomine.
  2. Peamise alamprotseduuri loomine.
  3. Õpilaste massiivi loomine stringielementide salvestamiseks. Massiiv salvestab elemente indeksist 0 kuni indeksini 2, mis tähendab, et selles on kokku 3 elementi.
  4. Lisades massiivi esimeseks elemendiks nime John, st John on salvestatud indeksisse 0.
  5. Lisades massiivi teise elemendina nime Alice, see tähendab, et Alice on salvestatud indeksisse 1.
  6. Lisades massiivi kolmanda elemendina nime Antony, see tähendab, et Antony on salvestatud indeksisse 2.
  7. Konsooli massiivi õpilaste indeksisse 0 salvestatud teksti ja elemendi trükkimine. Student(0) aitab meil pääseda juurde õpilaste nimega massiivi indeksi 0 elemendile.
  8. Konsooli massiivi õpilaste indeksisse 1 salvestatud teksti ja elemendi trükkimine. Student(1) aitab meil pääseda juurde õpilaste nimega massiivi indeksi 1 elemendile.
  9. Konsooli massiivi õpilaste indeksisse 2 salvestatud teksti ja elemendi trükkimine. Student(2) aitab meil pääseda juurde õpilaste nimega massiivi indeksi 2 elemendile.
  10. Konsooliakna peatamine, oodates, kuni kasutaja selle sulgemiseks midagi ette võtab.
  11. Alamprotseduuri lõpp.
  12. Mooduli lõpp.

Uute elementide lisamine massiivi

See juhtub ainult siis, kui teil on dünaamiline massiiv. Kui olete deklareerinud fikseeritud suurusega massiivi ja see on täis massiivi elemente, ei saa te sellele uusi elemente lisada. Järgmine näide näitab, kuidas dünaamilisele massiivile uusi elemente lisada:

1. samm) Alustage uue konsoolirakenduse loomisega.

2. samm) Lisage rakendusele järgmine kood:

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

3. samm) Koodi käivitamiseks klõpsake tööriistaribal nuppu Start. Teile peaks ilmuma järgmine aken:

Uute elementide lisamine massiivi

Oleme kasutanud järgmist koodi:

Uute elementide lisamine massiivi

Selgitus Code:

  1. Mooduli Module1 loomine.
  2. Peamise alamprotseduuri loomine.
  3. Massiivi loomine nimega nums, et hoida täisarvulisi väärtusi.
  4. Määrates, et ülaltoodud massiiv salvestab kaks elementi, st indeksites 0 ja 1, jättes ruumi suuruse muutmiseks.
  5. Elemendi 12 lisamine massiivinumbrite indeksisse 0.
  6. Elemendi 23 lisamine massiivinumbrite indeksisse 1.
  7. For-silmuse kasutamine muutuja x loomiseks, mis aitab meil itereerida massiivi numbrite esimestest kuni viimaste elementideni. Pange tähele, et massiivis on nüüd kaks elementi, 12 ja 23.
  8. Mõne teksti ja massiivi elementide trükkimine konsoolile.
  9. For-tsükli lõpetamine ja hüppamineping koodi järgmise osa juurde.
  10. Muutke massiivi numbrite suurust, et lubada elemente indeksites 0 kuni 2. Nüüd saab see salvestada 3 elementi, mitte 2. Märksõna Säilita aitab meil säilitada massiivi praeguseid elemente, st 12 ja 23.
  11. Elemendi 35 lisamine massiivi indeksisse 2. Massiivis on nüüd kolm elementi: 12, 23 ja 35.
  12. For-silmuse kasutamine muutuja x loomiseks, mis aitab meil itereerida massiivi numbrite esimestest kuni viimaste elementideni. Pange tähele, et massiivis on nüüd kolm elementi: 12, 23 ja 35.
  13. Mõne teksti ja massiivi elementide trükkimine konsoolile.
  14. For-tsükli lõpetamine ja hüppamineping koodi järgmise osa juurde.
  15. Peatage konsooliaken, oodates, kuni kasutaja selle sulgemiseks midagi ette võtab.
  16. Alamprotseduuri lõpp.
  17. Mooduli lõpp.

Massiivi kustutamine

Soovitatav on massiiv kustutada pärast seda, kui olete selle lõpetanud, enamasti siis, kui on tegemist dünaamilise massiiviga. See aitab teil mäluruumi vabastada.

Massiivi kustutamiseks peate lihtsalt kutsuma Erase-lause, millele järgneb massiivi nimi. Näiteks:

Dim nums(1) As Integer
        nums(0) = 12
        nums(1) = 23
Erase nums

Oleme deklareerinud täisarvude massiivi nimega numbrid ja lisanud sellele kaks elementi. Avaldus Erase nums kustutab massiivi.

Lisaks väärtuste salvestamisele pakub VB.Net sisseehitatud funktsioone, mis teisendavad stringe ja massiive. Esimene neist on funktsioon Split.

Jaotatud funktsioon

Visual Basic .NET-i pakutav funktsioon Split aitab meil stringi osadeks jagada ja neid massiivis hoida. Järgmine näide demonstreerib selle funktsiooni kasutamist:

1. samm) Looge uus konsoolirakendus.

2. samm) Lisage rakendusele järgmine kood:

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

3. samm) Käivitage kood, klõpsates tööriistaribal nuppu Start. Teile peaks ilmuma järgmine aken:

Jaotatud funktsioon

Oleme kasutanud järgmist koodi:

Jaotatud funktsioon

Selgitus Code:

  1. Mooduli Module1 loomine.
  2. Peamise alamprotseduuri alustamine.
  3. Massiivi loomine nimega myarray stringiväärtuste hoidmiseks.
  4. Stringi muutuja nimega guru99 loomine.
  5. Täisarvulise muutuja loomine nimega x.
  6. Stringi määramine muutujale guru99.
  7. Ülaltoodud stringi jagamine osadeks ja nende paigutamine massiivi nimega myarray. "," (koma) on eraldaja, seega kasutab poolitusfunktsioon seda stringi erinevate osade lõpu tähistamiseks.
  8. Muutuja x kasutamine massiivi nimega myarray läbimiseks. LBound ja UBound määravad vastavalt massiivi alumised ja ülemised piirid.
  9. Myarray-nimelise massiivi väärtuste printimine konsoolile.
  10. For-tsükli lõpetamine.

Ühinemisfunktsioon

Ühinemisfunktsioon aitab meil ühendada mitu massiivi üheks stringiks. Seda näitab järgmine näide:

1. samm) Alustage uue konsoolirakenduse loomisega.

2. samm) Lisage rakendusele järgmine kood:

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

3. samm) Käivitage kood, klõpsates tööriistaribal nuppu Start:

Ühinemisfunktsioon

Oleme kasutanud järgmist koodi:

Ühinemisfunktsioon

Selgitus Code:

  1. Mooduli Module1 loomine.
  2. Peamise alamprotseduuri loomine.
  3. Massiivi loomine nimega õpilased 3 stringiväärtuse hoidmiseks.
  4. Nime John lisamine massiivi indeksisse 0.
  5. Nime Alice lisamine massiivi indeksisse 1.
  6. Nime Antony lisamine massiivi indeksisse 2.
  7. Stringi andmetüübi klassikaaslaste nimelise muutuja määratlemine.
  8. Massiivi „students” kõigi elementide ühendamine ja nende eraldamine komaga „,”. Selle toimingu tulemus omistatakse muutujale „classfuls”.
  9. Klassikaaslaste muutuja sisu trükkimine konsoolile.
  10. Konsooliakna peatamine, oodates, kuni kasutaja selle sulgemiseks midagi ette võtab.
  11. Peamise alamprotseduuri lõpetamine.
  12. Mooduli lõpetamine.

KKK

Jah. Iga VB.Neti massiiv algab indeksiga 0, seega asub esimene element indeksiga 0 ja viimane indeksiga n miinus 1. Alumine piir on alati 0 ja seda ei saa muuta.

Kasutage omadust Length, mis tagastab elementide koguarvu, näiteks nums.Length. Funktsioon UBound tagastab suurima indeksi ja kuna massiivid algavad indeksiga 0, on UBound võrdne Length miinus üks-ga.

Kutsu välja jagatud meetodi Array.Sort ja edasta massiiv, näiteks Array.Sort(nums). See järjestab elemendid kohapeal kasvavas järjekorras ümber. Kasuta meetodit Array.Reverse seejärel samade elementide kahanevas järjekorras järjestamine.

Mitmemõõtmeline ehk ristkülikukujuline massiiv salvestab andmeid ridades ja veergudes, kasutades sulgudes koma, näiteks Dim grid(2, 3) As Integer. Igas reas on sama arv elemente.

Sakiline massiiv on massiiv, mille elemendid on ise massiivid, seega iga rida võib sisaldada erinevat arvu elemente. See deklareeritakse kahe sulgude komplektiga, näiteks Dim data()() As Integer.

Massiivil on pärast loomist fikseeritud suurus ja selle suuruse muutmiseks on vaja ReDim'i. List(Of T) kasvab ja kahaneb automaatselt ning pakub meetodeid Add, Remove ja Sort, mis lihtsustab tööd olukordades, kus elementide arv sageli muutub.

Jah. GitHub Copilot muudab lihtsa inglise keele kommentaari täielikuks massiivikoodiks, mis sisaldab Dim-deklaratsioone, ReDim-i suuruse muutmist ning Split- või Join-käsklusi. Enne soovituse vastuvõtmist vaadake alati iga soovitus üle, et leida õiged indeksid ja andmetüübid.

Jah. Visual Studio 2026. aastal seob GitHub Copiloti IntelligaCode massiivitsüklite automaatseks täitmiseks, vahemikust väljas olevate indeksite märkimiseks tippimise ajal ja õige massiivimeetodi soovitamiseks, vähendades enne programmi käivitamist käitusaja vigu.

Võta see postitus kokku järgmiselt: