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:
Koristili smo sljedeći kod:
Objašnjenje koda:
- Stvaranje modula pod nazivom Module1.
- Izrada glavne potprocedure.
- 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.
- Dodavanje imena Ivana kao prvog elementa niza, odnosno Ivana pohranjenog na indeksu 0.
- Dodavanje imena Alice kao drugog elementa niza, odnosno Alice pohranjene na indeksu 1.
- Dodavanje imena Antony kao trećeg elementa niza, odnosno Antony pohranjenog na indeksu 2.
- 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.
- 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.
- 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.
- Pauziranje prozora konzole koji čeka ili da korisnik poduzme akciju da ga zatvori.
- Kraj potpostupka.
- 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:
Koristili smo sljedeći kod:
Objašnjenje koda:
- Stvaranje modula pod nazivom Module1.
- Izrada glavne potprocedure.
- Stvaranje niza pod nazivom nums za držanje cjelobrojnih vrijednosti.
- Određivanje da će gornje polje pohraniti dva elementa, to jest, na indeksu 0 i 1, dok ostavlja prostor za promjenu veličine.
- Dodavanje elementa 12 indeksu 0 niza nums.
- Dodavanje elementa 23 indeksu 1 niza nums.
- 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.
- Ispis nekog teksta i elemenata niza na konzoli.
- Završetak for petlje i prelazak na sljedeći dio koda.
- 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.
- Dodavanje elementa 35 indeksu 2 niza. Niz sada ima tri elementa, 12, 23 i 35.
- 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.
- Ispis nekog teksta i elemenata niza na konzoli.
- Završetak for petlje i prelazak na sljedeći dio koda.
- Pauzirajte prozor konzole čekajući da korisnik poduzme akciju da ga zatvori.
- Kraj potpostupka.
- 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:
Koristili smo sljedeći kod:
Objašnjenje koda:
- Stvaranje modula pod nazivom Module1.
- Pokretanje glavne potprocedure.
- Stvaranje polja pod nazivom myarray za držanje vrijednosti niza.
- Stvaranje string varijable pod nazivom guru99.
- Stvaranje cjelobrojne varijable imena x.
- Dodjeljivanje niza varijabli guru99.
- 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.
- Korištenje varijable x za ponavljanje niza pod nazivom myarray. LBound i UBound određuju donje i gornje granice niza.
- Ispis vrijednosti niza pod nazivom myarray na konzoli.
- 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:
Koristili smo sljedeći kod:
Objašnjenje koda:
- Stvaranje modula pod nazivom Module1.
- Izrada glavne potprocedure.
- Stvaranje polja pod nazivom studenti za držanje 3 vrijednosti niza.
- Dodavanje imena John indeksu 0 niza.
- Dodavanje imena Alice indeksu 1 niza.
- Dodavanje imena Antony indeksu 2 niza.
- Definiranje varijable pod nazivom classmates tipa podataka string.
- Spajanje svih elemenata niza učenika i njihovo odvajanje pomoću , (zareza). Rezultat ove operacije bit će dodijeljen varijabli classmates.
- Ispis sadržaja varijable classmates na konzoli.
- Pauziranje prozora konzole čekajući da korisnik poduzme akciju da ga zatvori.
- Završetak glavne potprocedure.
- 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