VB.Net-taulukot: merkkijono, dynaaminen ESIMERKKEJÄ
Mikä on Array?
Taulukko on tietorakenne, jota käytetään tallentamaan saman tietotyypin elementtejä. Elementit järjestetään peräkkäin siten, että ensimmäinen elementti on indeksissä 0 ja viimeinen elementti indeksissä n-1, missä n on taulukon elementtien kokonaismäärä.
Kuinka ilmoittaa ja alustaa taulukko
In VB.NET, taulukot ilmoitetaan Dim-käskyllä. Esimerkiksi:
Dim myData() As Integer
Yllä olevassa esimerkissä olemme määrittäneet taulukon nimeltä myData, ja sen pitäisi sisältää kokonaislukutietotyypin elementtejä. Seuraava esimerkki osoittaa, kuinka voimme ilmoittaa taulukon sisältämään merkkijonoelementtejä:
Dim myData(10) As String
Olemme määrittäneet taulukon nimeltä myData sisältämään 10 merkkijonoa.
Voimme alustaa taulukoita niiden ilmoittamishetkellä. Esimerkiksi:
Dim myData() As Integer = {11, 12, 22, 7, 47, 32}
Olemme ilmoittaneet taulukon myData ja lisänneet siihen 6 kokonaislukuelementtiä. Tämä voidaan tehdä myös merkkijonojen tapauksessa:
Dim students() As String = {"John", "Alice", "Antony", "Gloria", "jayden"}
Olemme luoneet taulukon nimeltä opiskelijat ja lisänneet siihen 5 nimeä.
Kiinteän kokoiset taulukot
Kiinteän kokoinen taulukko sisältää kiinteän määrän elementtejä. Tämä tarkoittaa, että sinun on määritettävä elementtien määrä, jonka se sisältää määrityksensä aikana. Oletetaan, että tarvitset taulukon vain 3 oppilaan nimelle. Voit määrittää ja alustaa taulukon seuraavasti:
Dim students(0 to 2) As String students(0) = "John" students (1) = "Alice" students (2) = "Antony"
Aloitimme ilmoittamalla merkkijonotaulukon nimeltä opiskelijat. 0-2 ilmoittaa, että taulukko tallentaa elementtejä indeksistä 0 indeksiin 2, mikä tarkoittaa, että meillä on yhteensä 3 elementtiä.
Elementtien lisäämiseksi taulukkoon olemme käyttäneet taulukon nimeä ja määrittäneet indeksin, johon elementti tallennetaan. Esimerkiksi nimi John tallennetaan taulukon indeksiin 0, mikä tarkoittaa, että se muodostaa taulukon ensimmäisen elementin. Antony on taulukon viimeinen elementti.
Dynaamiset taulukot
Tämä on matriisi, joka voi sisältää minkä tahansa määrän elementtejä. Taulukon koko voi kasvaa milloin tahansa. Tämä tarkoittaa, että voit lisätä uusia elementtejä taulukkoon milloin tahansa. Tämän osoittamiseksi määritellään ensin joukko kokonaislukuja:
Dim nums() As Integer
Olemme määrittäneet kokonaislukutaulukon, jonka nimi on nums. Nyt sinun on lisättävä taulukkoon kaksi elementtiä samalla, kun annat tilaa sen koon muuttamiseen. Sinun on käytettävä ReDim-lausetta seuraavasti:
ReDim nums(1) nums(0) = 12 nums(1) = 23
Matriisissamme on nyt kaksi elementtiä indekseissä 0 ja 1. Meidän on lisättävä siihen kolmas elementti indeksiin 3 säilyttäen samalla jo olemassa olevat kaksi elementtiä. Voimme tehdä sen seuraavasti:
ReDim Preserve nums(2) nums(2) = 35
Taulukossa on nyt kolme elementtiä.
Taulukon sisällön hakeminen
Haku tarkoittaa taulukon elementtien käyttöä. Päästäksemme taulukkoelementtiin, käytämme sen indeksiä. Osoittakaamme tämä esimerkin avulla.
Vaihe 1) Aloita luomalla uusi konsolisovellus.
Vaihe 2) Lisää sovellukseen seuraava koodi:
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
Vaihe 3) Suorita koodi napsauttamalla työkalupalkin Käynnistä-painiketta. Saat seuraavan ikkunan:
Olemme käyttäneet seuraavaa koodia:
Koodin selitys:
- Moduuli nimeltä Moduuli1 luominen.
- Pääalamenettelyn luominen.
- Opiskelija-nimisen taulukon luominen merkkijonoelementtien tallentamiseksi. Taulukko tallentaa elementtejä indeksistä 0 indeksiin 2, mikä tarkoittaa, että siinä on yhteensä 3 elementtiä.
- Lisäämällä nimi John taulukon ensimmäiseksi elementiksi, eli John tallennettu indeksiin 0.
- Lisäämällä taulukon toiseksi elementiksi nimi Alice, eli Alice, joka on tallennettu indeksiin 1.
- Lisäämällä nimi Antony taulukon kolmanneksi elementiksi, eli Antony tallennettuna indeksiin 2.
- Tulostetaan tekstiä ja taulukon opiskelijoiden indeksiin 0 tallennettu elementti konsoliin. Student(0) auttaa meitä pääsemään opiskelijoiden taulukon indeksin 0 elementtiin.
- Tulostetaan tekstiä ja taulukon opiskelijoiden indeksiin 1 tallennettu elementti konsoliin. Student(1) auttaa meitä pääsemään opiskelijoiden taulukon indeksin 1 elementtiin.
- Tulostetaan tekstiä ja taulukon opiskelijoiden indeksiin 2 tallennettu elementti konsoliin. Student(2) auttaa meitä pääsemään opiskelijoiden taulukon indeksin 2 elementtiin.
- Konsoli-ikkunan keskeyttäminen tai käyttäjä sulkee sen.
- Alamenettelyn loppu.
- Moduulin loppu.
Uusien elementtien lisääminen taulukkoon
Tämä tapahtuu vain, jos sinulla on dynaaminen taulukko. Jos olet ilmoittanut kiinteän kokoisen taulukon ja se on täynnä taulukkoelementtejä, et voi lisätä siihen uusia elementtejä. Seuraava esimerkki osoittaa, kuinka uusia elementtejä lisätään dynaamiseen taulukkoon:
Vaihe 1) Aloita luomalla uusi konsolisovellus.
Vaihe 2) Lisää sovellukseen seuraava koodi:
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
Vaihe 3) Napsauta työkalupalkin Käynnistä-painiketta suorittaaksesi koodin. Sinun pitäisi saada seuraava ikkuna:
Olemme käyttäneet seuraavaa koodia:
Koodin selitys:
- Moduuli nimeltä Moduuli1 luominen.
- Pääalamenettelyn luominen.
- Nums-nimisen taulukon luominen kokonaislukuarvojen säilyttämiseksi.
- Määrittämällä, että yllä oleva matriisi tallentaa kaksi elementtiä, eli indekseihin 0 ja 1, mutta jättää tilaa koon muuttamiselle.
- Elementin 12 lisääminen taulukon numeroiden indeksiin 0.
- Elementin 23 lisääminen taulukon numeroiden indeksiin 1.
- For-silmukan avulla luodaan muuttuja x, joka auttaa meitä iteroimaan taulukon numeroiden ensimmäisestä viimeiseen elementtiin. Huomaa, että taulukossa on nyt kaksi elementtiä, 12 ja 23.
- Tekstin ja taulukon elementtien tulostaminen konsoliin.
- For-silmukan lopettaminen ja koodin seuraavaan osaan siirtyminen.
- Muuta taulukon numeroiden kokoa salliaksesi elementit indekseissä 0–2. Se pystyy nyt tallentamaan 3 elementtiä 2:n sijaan. Säilytä-avainsana auttaa meitä säilyttämään taulukon nykyiset elementit eli 12 ja 23.
- Elementin 35 lisääminen taulukon indeksiin 2. Taulukossa on nyt kolme elementtiä, 12, 23 ja 35.
- For-silmukan avulla luodaan muuttuja x, joka auttaa meitä iteroimaan taulukon numeroiden ensimmäisestä viimeiseen elementtiin. Huomaa, että taulukossa on nyt kolme elementtiä, 12, 23 ja 35.
- Tekstin ja taulukon elementtien tulostaminen konsoliin.
- For-silmukan lopettaminen ja koodin seuraavaan osaan siirtyminen.
- Keskeytä konsoli-ikkuna odottamaan, että käyttäjä sulkee sen.
- Alamenettelyn loppu.
- Moduulin loppu.
Array:n poistaminen
On suositeltavaa tyhjentää taulukko sen jälkeen, kun olet tehnyt sen, useimmiten silloin, kun olet tekemisissä dynaamisen taulukon kanssa. Tämä auttaa vapauttamaan muistitilaa.
Jos haluat poistaa taulukon, sinun on vain kutsuttava Erase-käsky, jota seuraa taulukon nimi. Esimerkiksi:
Dim nums(1) As Integer nums(0) = 12 nums(1) = 23 Erase nums
Olemme ilmoittaneet joukon kokonaislukuja nimeltä numerot ja lisänneet siihen kaksi elementtiä. Erase nums -käsky poistaa taulukon.
Jakotoiminto
Visual Basic .NET:n jakamistoiminto auttaa meitä jakamaan merkkijonon osiin ja pitämään ne taulukossa. Seuraava esimerkki osoittaa, kuinka tätä toimintoa käytetään:
Vaihe 1) Luo uusi konsolisovellus.
Vaihe 2) Lisää sovellukseen seuraava koodi:
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
Vaihe 3) Suorita koodi napsauttamalla työkalupalkin Käynnistä-painiketta. Sinun pitäisi saada seuraava ikkuna:
Olemme käyttäneet seuraavaa koodia:
Koodin selitys:
- Moduuli nimeltä Moduuli1 luominen.
- Pääalatoimenpiteen aloittaminen.
- Myarray-nimisen taulukon luominen merkkijonoarvojen säilyttämiseksi.
- Luodaan merkkijonomuuttuja nimeltä guru99.
- Luodaan kokonaislukumuuttuja nimeltä x.
- Merkkijonon määrittäminen muuttujalle guru99.
- Jakamalla yllä oleva merkkijono osiin ja sijoittamalla ne taulukkoon nimeltä myarray. "," (pilkku) on erotin, joten jakofunktio käyttää sitä merkkijonon eri osien lopun merkitsemiseen.
- Muuttujan x käyttäminen myarray-nimisen taulukon toistamiseen. LBound ja UBound määrittävät taulukon alarajat ja ylärajat.
- Tulostetaan konsolissa myarray-nimisen taulukon arvot.
- For-silmukan lopettaminen ja
Liitostoiminto
Join-toiminto auttaa meitä yhdistämään useita taulukoita yhdeksi merkkijonoksi. Seuraava esimerkki osoittaa tämän:
Vaihe 1) Aloita luomalla uusi konsolisovellus.
Vaihe 2) Lisää sovellukseen seuraava koodi:
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
Vaihe 3) Suorita koodi napsauttamalla työkalupalkin Käynnistä-painiketta:
Olemme käyttäneet seuraavaa koodia:
Koodin selitys:
- Moduuli nimeltä Moduuli1 luominen.
- Pääalamenettelyn luominen.
- Luodaan opiskelija-niminen matriisi, jossa on 3 merkkijonoarvoa.
- Nimen John lisääminen taulukon indeksiin 0.
- Nimen Alice lisääminen taulukon indeksiin 1.
- Lisäämällä nimi Antony taulukon indeksiin 2.
- Muuttujan määrittäminen, jonka nimi on merkkijonotietotyypin classmates.
- Yhdistetään kaikki taulukon oppilaiden elementit ja erotetaan ne , (pilkulla). Tämän toiminnon tulos määrätään muuttujan luokkatovereille.
- Luokkatoverimuuttujan sisällön tulostaminen konsoliin.
- Konsoli-ikkunan keskeyttäminen odottamassa, että käyttäjä sulkee sen.
- Pääaliprosessin lopettaminen.
- Moduulin lopetus.
Yhteenveto
- Matriiseja käytetään samaan kuuluvien tietoelementtien tallentamiseen tietotyyppi.
- Dynaamisen taulukon avulla käyttäjä voi muuttaa sen kokoa lisäämällä siihen lisää elementtejä. Käytät komentoa ReDim elementtien lisäämiseksi olemassa olevaan taulukkoon
- Kiinteän kokoisen taulukon kokoa ei voi muuttaa.
- Matriisielementit järjestetään indeksien avulla siten, että ensimmäinen elementti on indeksissä 0 ja viimeinen elementti indeksissä n-1, missä n on taulukon elementtien kokonaismäärä.
- Matriisit voidaan poistaa Erase-toiminnolla
- Voit käyttää split- ja join-funktioita merkkijonotaulukon jakamiseen tai liittämiseen