VB.Net nizovi: String, dinamički s PRIMJERIMA

Što je niz?

Niz je podatkovna struktura koja se koristi za pohranu elemenata iste vrste podataka. Elementi su poredani sekvencijalno tako da je prvi element na indeksu 0, a posljednji na indeksu n-1, gdje je n ukupan broj elemenata u nizu.

Kako deklarirati i inicijalizirati niz

In VB.NET, nizovi se deklariraju pomoću naredbe Dim. Na primjer:

Dim myData() As Integer

U gornjem primjeru definirali smo polje pod nazivom myData i trebalo bi sadržavati elemente tipa podataka integer. Sljedeći primjer pokazuje kako možemo deklarirati niz za držanje elemenata niza:

Dim myData(10) As String

Definirali smo polje pod nazivom myData da sadrži 10 nizova.

Nizove možemo inicijalizirati u trenutku njihove deklaracije. Na primjer:

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

Deklarirali smo niz myData i dodali mu 6 cjelobrojnih elemenata. Ovo se također može učiniti za slučaj nizova:

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

Napravili smo niz pod nazivom studenti i dodali mu 5 imena.

Nizovi fiksne veličine

Niz fiksne veličine sadrži fiksni broj elemenata. To znači da morate definirati broj elemenata koje će sadržavati tijekom svoje definicije. Pretpostavimo da vam je potreban niz za samo 3 imena učenika. Polje možete definirati i inicijalizirati na sljedeći način:

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

Počeli smo deklariranjem niza nizova pod nazivom studenti. Od 0 do 2 izjavljuje da će niz pohranjivati ​​elemente od svog indeksa 0 do indeksa 2, što znači da ćemo imati ukupno 3 elementa.

Da bismo dodali elemente nizu, upotrijebili smo naziv niza i odredili indeks na kojem će element biti pohranjen. Na primjer, ime John bit će pohranjeno na indeksu 0 niza, što znači da će činiti prvi element niza. Antony će biti posljednji element niza.

Dinamički nizovi

Ovo je niz koji može sadržavati bilo koji broj elemenata. Veličina niza može porasti u bilo kojem trenutku. To znači da možete dodavati nove elemente nizu kad god želimo. Da bismo to demonstrirali, prvo definirajmo niz cijelih brojeva:

Dim nums() As Integer

Definirali smo niz cijelih brojeva nazvan nums. Sada morate dodati dva elementa nizu, ostavljajući prostor za promjenu veličine. Naredbu ReDim trebate koristiti na sljedeći način:

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

Naš niz sada ima dva elementa u indeksima 0 i 1. Trebamo mu dodati treći element na indeksu 3, a pritom sačuvati dva elementa koja već ima. To možemo učiniti na sljedeći način:

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

Niz sada ima tri elementa.

Dohvaćanje sadržaja niza

Dohvaćanje znači pristup elementima niza. Za pristup elementu niza koristimo njegov indeks. Pokažimo to na primjeru.

Korak 1) Započnite stvaranjem nove konzolne aplikacije.

Korak 2) Dodajte sljedeći kod u aplikaciju:

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

Korak 3) Pokrenite kod klikom na gumb Start na alatnoj traci. Dobit ćete sljedeći prozor:

Dohvaćanje sadržaja niza

Koristili smo sljedeći kod:

Dohvaćanje sadržaja niza

Objašnjenje koda:

  1. Stvaranje modula pod nazivom Module1.
  2. Izrada glavne potprocedure.
  3. Stvaranje polja pod nazivom studenti za pohranu elemenata niza. Niz će pohranjivati ​​elemente od indeksa 0 do indeksa 2, što znači da će imati ukupno 3 elementa.
  4. Dodavanje imena Ivana kao prvog elementa niza, odnosno Ivana pohranjenog na indeksu 0.
  5. Dodavanje imena Alice kao drugog elementa niza, odnosno Alice pohranjene na indeksu 1.
  6. Dodavanje imena Antony kao trećeg elementa niza, odnosno Antony pohranjenog na indeksu 2.
  7. Ispis nekog teksta i elementa pohranjenog na indeksu 0 niza students na konzoli. Studenti(0) nam pomažu pristupiti elementu na indeksu 0 niza pod nazivom studenti.
  8. Ispis nekog teksta i elementa pohranjenog na indeksu 1 niza students na konzoli. Studenti(1) nam pomažu pristupiti elementu na indeksu 1 niza pod nazivom studenti.
  9. Ispis nekog teksta i elementa pohranjenog na indeksu 2 niza students na konzoli. Studenti(2) nam pomažu pristupiti elementu na indeksu 2 niza pod nazivom studenti.
  10. Pauziranje prozora konzole koji čeka ili da korisnik poduzme akciju da ga zatvori.
  11. Kraj potpostupka.
  12. Kraj modula.

Dodavanje novih elemenata nizu

To će se dogoditi samo ako imate dinamički niz. Ako ste deklarirali dimenzionalni niz fiksne veličine i on je pun elemenata niza, ne možete mu dodati nove elemente. Sljedeći primjer pokazuje kako dodati nove elemente u dinamički niz:

Korak 1) Započnite stvaranjem nove konzolne aplikacije.

Korak 2) Dodajte sljedeći kod u aplikaciju:

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

Korak 3) Pritisnite gumb Start na alatnoj traci za pokretanje koda. Trebali biste dobiti sljedeći prozor:

Dodavanje novih elemenata nizu

Koristili smo sljedeći kod:

Dodavanje novih elemenata nizu

Objašnjenje koda:

  1. Stvaranje modula pod nazivom Module1.
  2. Izrada glavne potprocedure.
  3. Stvaranje niza pod nazivom nums za držanje cjelobrojnih vrijednosti.
  4. Određivanje da će gornje polje pohraniti dva elementa, to jest, na indeksu 0 i 1, dok ostavlja prostor za promjenu veličine.
  5. Dodavanje elementa 12 indeksu 0 niza nums.
  6. Dodavanje elementa 23 indeksu 1 niza nums.
  7. Korištenje for petlje za stvaranje varijable x koja nam pomaže iterirati od prvog do zadnjeg elementa niza nums. Imajte na umu da niz sada ima dva elementa, 12 i 23.
  8. Ispis nekog teksta i elemenata niza na konzoli.
  9. Završetak for petlje i prelazak na sljedeći dio koda.
  10. Promijenite veličinu niza nums kako biste omogućili elemente s indeksima od 0 do 2. Sada će moći pohraniti 3 elementa umjesto 2. Ključna riječ Preserve pomaže nam u održavanju trenutnih elemenata niza, to jest 12 i 23.
  11. Dodavanje elementa 35 indeksu 2 niza. Niz sada ima tri elementa, 12, 23 i 35.
  12. Korištenje for petlje za stvaranje varijable x koja nam pomaže iterirati od prvog do zadnjeg elementa niza nums. Imajte na umu da niz sada ima tri elementa, 12, 23 i 35.
  13. Ispis nekog teksta i elemenata niza na konzoli.
  14. Završetak for petlje i prelazak na sljedeći dio koda.
  15. Pauzirajte prozor konzole čekajući da korisnik poduzme akciju da ga zatvori.
  16. Kraj potpostupka.
  17. Kraj modula.

Brisanje niza

Preporuča se da izbrišete svoj niz nakon što završite s njim, uglavnom kada radite s dinamičkim nizom. To će vam pomoći da oslobodite nešto memorijskog prostora.

Da biste izbrisali niz, morate samo pozvati naredbu Erase nakon koje slijedi naziv niza. Na primjer:

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

Deklarirali smo niz cijelih brojeva nazvan nums i dodali mu dva elementa. Naredba Erase nums će izbrisati niz.

Split funkcija

Funkcija dijeljenja koju nudi Visual Basic .NET pomaže nam podijeliti niz na dijelove i zadržati ih u nizu. Sljedeći primjer pokazuje kako koristiti ovu funkciju:

Korak 1) Napravite novu konzolnu aplikaciju.

Korak 2) Dodajte sljedeći kod u aplikaciju:

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

Korak 3) Pokrenite kod klikom na gumb Start na alatnoj traci. Trebali biste dobiti sljedeći prozor:

Split funkcija

Koristili smo sljedeći kod:

Split funkcija

Objašnjenje koda:

  1. Stvaranje modula pod nazivom Module1.
  2. Pokretanje glavne potprocedure.
  3. Stvaranje polja pod nazivom myarray za držanje vrijednosti niza.
  4. Stvaranje string varijable pod nazivom guru99.
  5. Stvaranje cjelobrojne varijable imena x.
  6. Dodjeljivanje niza varijabli guru99.
  7. Dijeljenje gornjeg niza na dijelove i njihovo postavljanje u polje pod nazivom myarray. “,” (zarez) je graničnik, stoga će ga funkcija split koristiti za označavanje kraja različitih dijelova niza.
  8. Korištenje varijable x za ponavljanje niza pod nazivom myarray. LBound i UBound određuju donje i gornje granice niza.
  9. Ispis vrijednosti niza pod nazivom myarray na konzoli.
  10. Završetak for petlje i

Funkcija spajanja

Funkcija spajanja nam pomaže spojiti više nizova u jedan niz. Sljedeći primjer to pokazuje:

Korak 1) Započnite stvaranjem nove konzolne aplikacije.

Korak 2) Dodajte sljedeći kod u aplikaciju:

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

Korak 3) Pokrenite kod klikom na gumb Start na alatnoj traci:

Funkcija spajanja

Koristili smo sljedeći kod:

Funkcija spajanja

Objašnjenje koda:

  1. Stvaranje modula pod nazivom Module1.
  2. Izrada glavne potprocedure.
  3. Stvaranje polja pod nazivom studenti za držanje 3 vrijednosti niza.
  4. Dodavanje imena John indeksu 0 niza.
  5. Dodavanje imena Alice indeksu 1 niza.
  6. Dodavanje imena Antony indeksu 2 niza.
  7. Definiranje varijable pod nazivom classmates tipa podataka string.
  8. Spajanje svih elemenata niza učenika i njihovo odvajanje pomoću , (zareza). Rezultat ove operacije bit će dodijeljen varijabli classmates.
  9. Ispis sadržaja varijable classmates na konzoli.
  10. Pauziranje prozora konzole čekajući da korisnik poduzme akciju da ga zatvori.
  11. Završetak glavne potprocedure.
  12. Završetak modula.

rezime

  • Nizovi se koriste za pohranu elemenata podataka koji pripadaju istom tip podataka.
  • Dinamički niz omogućuje korisniku da mu promijeni veličinu dodavanjem više elemenata. Koristite naredbu ReDim za dodavanje elemenata u postojeći niz
  • Veličina niza fiksne veličine ne može se promijeniti.
  • Elementi niza poredani su pomoću indeksa, pri čemu je prvi element na indeksu 0, a posljednji na indeksu n-1, gdje je n ukupan broj elemenata niza.
  • Nizovi se mogu brisati pomoću funkcije Brisanje
  • Možete koristiti funkcije split i join za razdvajanje ili spajanje niza nizova