VB.Neti massiivid: string, dünaamiline näidetega
Mis on massiiv?
Massiiv on andmestruktuur, mida kasutatakse sama andmetüübi elementide salvestamiseks. Elemendid on järjestatud järjestikku, kusjuures esimene element on indeksis 0 ja viimane element indeksis 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.
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.
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.
Massiivi sisu otsimine
Otsimine tähendab juurdepääsu massiivi elementidele. Massiivielemendile juurde pääsemiseks kasutame selle indeksit. Näitame seda näite abil.
Step 1) Alustage uue konsoolirakenduse loomisega.
Step 2) 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
Step 3) Käivitage kood, klõpsates tööriistaribal nuppu Start. Näete järgmise akna:
Oleme kasutanud järgmist koodi:
Koodi selgitus:
- Mooduli Module1 loomine.
- Peamise alamprotseduuri loomine.
- Õpilaste massiivi loomine stringielementide salvestamiseks. Massiiv salvestab elemente indeksist 0 kuni indeksini 2, mis tähendab, et selles on kokku 3 elementi.
- Lisades massiivi esimeseks elemendiks nime John, st John on salvestatud indeksisse 0.
- Lisades massiivi teise elemendina nime Alice, see tähendab, et Alice on salvestatud indeksisse 1.
- Lisades massiivi kolmanda elemendina nime Antony, see tähendab, et Antony on salvestatud indeksisse 2.
- Konsooli massiivi õpilaste indeksisse 0 salvestatud teksti ja elemendi trükkimine. Student(0) aitab meil pääseda juurde õpilaste nimega massiivi indeksi 0 elemendile.
- Konsooli massiivi õpilaste indeksisse 1 salvestatud teksti ja elemendi trükkimine. Student(1) aitab meil pääseda juurde õpilaste nimega massiivi indeksi 1 elemendile.
- Konsooli massiivi õpilaste indeksisse 2 salvestatud teksti ja elemendi trükkimine. Student(2) aitab meil pääseda juurde õpilaste nimega massiivi indeksi 2 elemendile.
- Konsooliakna ootamise peatamine või kasutaja tegevus selle sulgemiseks.
- Alamprotseduuri lõpp.
- 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:
Step 1) Alustage uue konsoolirakenduse loomisega.
Step 2) 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
Step 3) Koodi käivitamiseks klõpsake tööriistaribal nuppu Start. Peaksite saama järgmise akna:
Oleme kasutanud järgmist koodi:
Koodi selgitus:
- Mooduli Module1 loomine.
- Peamise alamprotseduuri loomine.
- Massiivi loomine nimega nums, et hoida täisarvulisi väärtusi.
- Määrates, et ülaltoodud massiiv salvestab kaks elementi, st indeksites 0 ja 1, jättes ruumi suuruse muutmiseks.
- Elemendi 12 lisamine massiivinumbrite indeksisse 0.
- Elemendi 23 lisamine massiivinumbrite indeksisse 1.
- 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.
- Mõne teksti ja massiivi elementide trükkimine konsoolile.
- For-tsükli lõpetamine ja koodi järgmise osa juurde liikumine.
- 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.
- Elemendi 35 lisamine massiivi indeksisse 2. Massiivis on nüüd kolm elementi: 12, 23 ja 35.
- 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.
- Mõne teksti ja massiivi elementide trükkimine konsoolile.
- For-tsükli lõpetamine ja koodi järgmise osa juurde liikumine.
- Peatage konsooliaken, oodates, kuni kasutaja selle sulgemiseks midagi ette võtab.
- Alamprotseduuri lõpp.
- 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.
Jaotatud funktsioon
Jagamisfunktsioon, mida pakub Visual Basic .NET, aitab meil jagada stringi osadeks ja hoida neid massiivina. Järgmine näide näitab, kuidas seda funktsiooni kasutada:
Step 1) Looge uus konsoolirakendus.
Step 2) 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
Step 3) Käivitage kood, klõpsates tööriistaribal nuppu Start. Peaksite saama järgmise akna:
Oleme kasutanud järgmist koodi:
Koodi selgitus:
- Mooduli Module1 loomine.
- Peamise alamprotseduuri alustamine.
- Massiivi loomine nimega myarray stringiväärtuste hoidmiseks.
- Stringi muutuja nimega guru99 loomine.
- Täisarvulise muutuja loomine nimega x.
- Stringi määramine muutujale guru99.
- Ülaltoodud stringi jagamine osadeks ja nende paigutamine massiivi nimega myarray. "," (koma) on eraldaja, seega kasutab poolitusfunktsioon seda stringi erinevate osade lõpu tähistamiseks.
- Muutuja x kasutamine massiivi nimega myarray läbimiseks. LBound ja UBound määravad vastavalt massiivi alumised ja ülemised piirid.
- Myarray-nimelise massiivi väärtuste printimine konsoolile.
- For-tsükli lõpetamine ja
Ühinemisfunktsioon
Ühinemisfunktsioon aitab meil ühendada mitu massiivi üheks stringiks. Seda näitab järgmine näide:
Step 1) Alustage uue konsoolirakenduse loomisega.
Step 2) 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
Step 3) Käivitage kood, klõpsates tööriistaribal nuppu Start:
Oleme kasutanud järgmist koodi:
Koodi selgitus:
- Mooduli Module1 loomine.
- Peamise alamprotseduuri loomine.
- Massiivi loomine nimega õpilased 3 stringiväärtuse hoidmiseks.
- Nime John lisamine massiivi indeksisse 0.
- Nime Alice lisamine massiivi indeksisse 1.
- Nime Antony lisamine massiivi indeksisse 2.
- Stringi andmetüübi klassikaaslaste nimelise muutuja määratlemine.
- Massiivi õpilaste kõigi elementide ühendamine ja eraldamine , (koma) abil. Selle toimingu tulemus määratakse muutujatele klassikaaslastele.
- Klassikaaslaste muutuja sisu trükkimine konsoolile.
- Konsooliakna peatamine, oodates, kuni kasutaja selle sulgemiseks midagi ette võtab.
- Peamise alamprotseduuri lõpetamine.
- Mooduli lõpetamine.
kokkuvõte
- Massiive kasutatakse samasse kuuluvate andmeelementide salvestamiseks andmetüüp.
- Dünaamiline massiiv võimaldab kasutajal selle suurust muuta, lisades sellele rohkem elemente. Kasutad käsku ReDim olemasolevale massiivile elementide lisamiseks
- Fikseeritud suurusega massiivi suurust ei saa muuta.
- Massiivi elemendid järjestatakse indeksite abil, kusjuures esimene element on indeksis 0 ja viimane element indeksis n-1, kus n on massiivi elementide koguarv.
- Massiivid saab kustutada funktsiooni Erase abil
- Stringimassiivi tükeldamiseks või ühendamiseks saate kasutada split- ja join-funktsioone