Čo je to pole?
Pole je dátová štruktúra používaná na ukladanie prvkov rovnakého dátového typu. Prvky sú zoradené postupne, pričom prvý prvok je na indexe 0 a posledný prvok na indexe n-1, kde n je celkový počet prvkov v poli.
V tomto návode sa dozviete:
- Čo je to pole?
- Ako deklarovať a inicializovať pole
- Polia pevnej veľkosti
- Dynamické polia
- Načítanie obsahu poľa
- Pridávanie nových prvkov do poľa
- Mazanie poľa
- Funkcia rozdelenia
- Funkcia spojenia
Ako deklarovať a inicializovať pole
Vo VB.NET sa polia deklarujú pomocou príkazu Dim. Napríklad:
Dim myData() As Integer
Vo vyššie uvedenom príklade sme definovali pole s názvom myData a malo by obsahovať prvky celočíselného dátového typu. Nasledujúci príklad ukazuje, ako môžeme deklarovať pole na uchovanie prvkov reťazca:
Dim myData(10) As String
Definovali sme pole s názvom myData na uloženie 10 reťazcov.
Polia môžeme inicializovať v čase ich vyhlásenia. Napríklad:
Dim myData() As Integer = {11, 12, 22, 7, 47, 32}
Pole sme deklarovali myData a pridali sme k nemu 6 celočíselných prvkov. To možno vykonať aj v prípade reťazcov:
Dim students() As String = {"John", "Alice", "Antony", "Gloria", "jayden"}
Vytvorili sme pole s názvom študenti a pridali sme k nemu 5 mien.
Polia pevnej veľkosti
Pole s pevnou veľkosťou obsahuje pevný počet prvkov. To znamená, že musíte definovať počet prvkov, ktoré bude obsahovať počas definície. Predpokladajme, že potrebujete pole, ktoré pojme iba 3 mená študentov. Pole môžete definovať a inicializovať takto:
Dim students(0 to 2) As Stringstudents(0) = "John"students (1) = "Alice"students (2) = "Antony"
Začali sme vyhlásením reťazcového poľa s názvom študenti. 0 až 2 deklaruje, že pole bude ukladať prvky z indexu 0 do indexu 2, čo znamená, že budeme mať celkovo 3 prvky.
Na pridanie prvkov do poľa sme použili názov poľa a určili index, v ktorom bude prvok uložený. Napríklad meno John bude uložené v indexe 0 poľa, čo znamená, že bude tvoriť prvý prvok poľa. Antony bude posledným prvkom poľa.
Dynamické polia
Toto je pole, ktoré pojme ľubovoľný počet prvkov. Veľkosť poľa môže kedykoľvek rásť. To znamená, že do poľa môžete kedykoľvek pridať nové prvky. Aby sme to demonštrovali, najskôr definujeme pole celých čísel:
Dim nums() As Integer
Definovali sme celé číslo s názvom nums. Teraz musíte do poľa pridať dva prvky, pričom budete mať priestor na jeho zmenu veľkosti. Príkaz ReDim musíte použiť nasledovne:
ReDim nums(1)nums(0) = 12nums(1) = 23
Naše pole má teraz dva prvky v indexoch 0 a 1. Musíme doň pridať tretí prvok v indexe 3, pričom zachovávame dva prvky, ktoré už má. Môžeme to urobiť nasledovne:
ReDim Preserve nums(2)nums(2) = 35
Pole má teraz tri prvky.
Načítanie obsahu poľa
Získanie znamená prístup k prvkom poľa. Na prístup k prvku poľa používame jeho index. Ukážme si to na príklade.
Krok 1) Začnite vytvorením novej konzolovej aplikácie.
Krok 2) Pridajte do aplikácie nasledujúci kód:
Module Module1Sub Main()Dim students(0 to 2) As Stringstudents(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 SubEnd Module
Krok 3) Spustite kód kliknutím na tlačidlo Štart na paneli nástrojov. Dostanete nasledujúce okno:
Použili sme nasledujúci kód:
Vysvetlenie kódu:
- Vytvorenie modulu s názvom Module1.
- Vytvorenie hlavného čiastkového postupu.
- Vytvorenie poľa s názvom študenti na ukladanie prvkov reťazca. Pole bude ukladať prvky od indexu 0 do indexu 2, čo znamená, že bude mať celkovo 3 prvky.
- Názov John je pridaný ako prvý prvok poľa, to znamená John, ktorý je uložený v indexe 0.
- Názov Alice sa pridá ako druhý prvok poľa, to znamená Alice uložená v indexe 1.
- Názov Antony sa pridá ako tretí prvok poľa, to znamená, že je Antonius uložený v indexe 2.
- Tlač niektorého textu a prvku uloženého v indexe 0 študentov poľa na konzole. Študenti (0) nám pomáhajú získať prístup k prvku v indexe 0 poľa s názvom študenti.
- Tlač niektorého textu a prvku uloženého v indexe 1 študentov poľa na konzole. Študenti (1) nám pomáhajú získať prístup k prvku v indexe 1 poľa s názvom študenti.
- Tlač niektorého textu a prvku uloženého v indexe 2 študentov poľa na konzole. Študenti (2) nám pomáhajú získať prístup k prvku v indexe 2 poľa s názvom študenti.
- Pozastavenie čakania na okne konzoly alebo pozastavenie činnosti používateľom.
- Koniec čiastkového postupu.
- Koniec modulu.
Pridávanie nových prvkov do poľa
Stane sa to iba vtedy, ak máte dynamické pole. Ak ste deklarovali rozmerové pole pevnej veľkosti a je plné prvkov poľa, nemôžete doň pridávať nové prvky. Nasledujúci príklad ukazuje, ako pridať nové prvky do dynamického poľa:
Krok 1) Začnite vytvorením novej konzolovej aplikácie.
Krok 2) Pridajte do aplikácie nasledujúci kód:
Module Module1Sub Main()Dim nums() As IntegerReDim nums(1)nums(0) = 12nums(1) = 23For x = 0 To nums.Length - 1Console.WriteLine("Initial array element: {0}", nums(x))NextReDim Preserve nums(2)nums(2) = 35For x = 0 To nums.Length - 1Console.WriteLine("Final array element: {0}", nums(x))NextConsole.ReadKey()End SubEnd Module
Krok 3) Kliknutím na tlačidlo Štart na paneli nástrojov spustíte kód. Mali by ste dostať nasledujúce okno:
Použili sme nasledujúci kód:
Vysvetlenie kódu:
- Vytvorenie modulu s názvom Module1.
- Vytvorenie hlavného čiastkového postupu.
- Vytvorenie poľa s názvom nums na uchovanie celočíselných hodnôt.
- Zadaním toho, že vyššie uvedené pole uloží dva prvky, to znamená na indexe 0 a 1, pričom poskytne priestor na zmenu veľkosti.
- Pridanie prvku 12 k indexu 0 čísel čísel.
- Pridanie prvku 23 do indexu 1 čísel čísel.
- Pomocou slučky for vytvoríme premennú x, ktorá nám pomôže iterovať od prvého po posledný prvok čísel poľa. Upozorňujeme, že pole má teraz dva prvky, 12 a 23.
- Tlač niektorého textu a prvkov poľa na konzole.
- Ukončenie cyklu for a preskočenie na ďalšiu časť kódu.
- Zmeňte veľkosť čísel poľa tak, aby umožňovala prvky v indexoch 0 až 2. Teraz bude môcť ukladať 3 prvky namiesto 2. Kľúčové slovo Zachovať nám pomáha udržiavať aktuálne prvky poľa, to znamená 12 a 23.
- Pridanie prvku 35 do indexu 2 poľa. Pole má teraz tri prvky, 12, 23 a 35.
- Pomocou slučky for vytvoríme premennú x, ktorá nám pomôže iterovať od prvého po posledný prvok čísel poľa. Upozorňujeme, že pole má teraz tri prvky, 12, 23 a 35.
- Tlač niektorého textu a prvkov poľa na konzole.
- Ukončenie cyklu for a preskočenie na ďalšiu časť kódu.
- Pozastavte okno konzoly a počkajte, kým používateľ uzavrie akciu.
- Koniec čiastkového postupu.
- Koniec modulu.
Vymazanie poľa
Odporúča sa, aby ste vymazali svoje pole po dokončení, hlavne keď pracujete s dynamickým poľom. To vám pomôže uvoľniť miesto v pamäti.
Ak chcete pole vymazať, stačí zavolať príkaz Vymazať a za ním názov poľa. Napríklad:
Dim nums(1) As Integernums(0) = 12nums(1) = 23Erase nums
Vyhlásili sme pole celých čísel s názvom nums a pridali sme k nemu dva prvky. Príkaz Vymazať čísla vymaže pole.
Funkcia rozdelenia
Funkcia rozdelenia, ktorú poskytuje Visual Basic .NET, nám pomáha rozdeliť reťazec na časti a uchovať ich v poli. Nasledujúci príklad ukazuje, ako sa používa táto funkcia:
Krok 1) Vytvorte novú konzolovú aplikáciu.
Krok 2) Pridajte do aplikácie nasledujúci kód:
Module Module1Sub Main()Dim myarray() As StringDim guru99 As StringDim x As Integerguru99 = "Welcome, to, Guru99"myarray = Split(guru99, ", ")For x = LBound(myarray) To UBound(myarray)Console.WriteLine(myarray(x))NextConsole.ReadKey()End SubEnd Module
Krok 3) Spustite kód kliknutím na tlačidlo Štart na paneli nástrojov. Mali by ste dostať nasledujúce okno:
Použili sme nasledujúci kód:
Vysvetlenie kódu:
- Vytvorenie modulu s názvom Module1.
- Spustenie hlavného čiastkového postupu.
- Vytvorenie poľa s názvom myarray na uchovanie reťazcových hodnôt.
- Vytvorenie reťazcovej premennej s názvom guru99.
- Vytvorenie celočíselnej premennej s názvom x.
- Priradenie reťazca k premennej guru99.
- Rozdelením reťazca vyššie na časti a ich umiestnením do poľa s názvom myarray. „,“ (Čiarka) je oddeľovač, preto ho funkcia split použije na označenie konca rôznych častí reťazca.
- Pomocou premennej x iterujeme poľom s názvom myarray. LBound a UBound určujú dolné hranice a horné hranice poľa.
- Vytlačenie hodnôt poľa s názvom myarray na konzole.
- Koniec slučky for a
Funkcia spojenia
Funkcia join nám pomáha spojiť viac polí do jedného reťazca. Nasledujúci príklad to demonštruje:
Krok 1) Začnite vytvorením novej konzolovej aplikácie.
Krok 2) Pridajte do aplikácie nasledujúci kód:
Module Module1Sub Main()Dim students(0 To 2) As Stringstudents(0) = "John"students(1) = "Alice"students(2) = "Antony"Dim classmates As Stringclassmates = Join(students, ", ")Console.WriteLine(classmates)Console.ReadKey()End SubEnd Module
Krok 3) Spustite kód kliknutím na tlačidlo Štart na paneli nástrojov:
Použili sme nasledujúci kód:
Vysvetlenie kódu:
- Vytvorenie modulu s názvom Module1.
- Vytvorenie hlavného čiastkového postupu.
- Vytvorenie poľa s názvom študenti, ktoré obsahuje 3 hodnoty reťazca.
- Pridanie mena John k indexu 0 poľa.
- Pridanie mena Alice do indexu 1 poľa.
- Pridanie názvu Antony do indexu 2 poľa.
- Definovanie premennej s názvom spolužiaci dátového typu reťazec.
- Spojenie všetkých prvkov študentov poľa a ich oddelenie pomocou čiarky. Výsledok tejto operácie bude priradený premennej spolužiaci.
- Tlač obsahu premennej spolužiakov na konzole.
- Pozastavenie okna konzoly a čakanie na používateľa, aby vykonal akciu na jeho zatvorenie.
- Ukončenie hlavného čiastkového postupu.
- Ukončenie modulu.
Zhrnutie
- Polia sa používajú na ukladanie dátových prvkov, ktoré patria do rovnakého dátového typu.
- Dynamické pole umožňuje používateľovi zmeniť jeho veľkosť pridaním ďalších prvkov. Príkaz ReDim použijete na pridanie prvkov do existujúceho poľa
- Veľkosť poľa s pevnou veľkosťou sa nedá zmeniť.
- Prvky poľa sú zoradené pomocou indexov, pričom prvý prvok je v indexe 0 a posledný prvok v indexe n-1, kde n je celkový počet prvkov poľa.
- Polia je možné vymazať pomocou funkcie Vymazať
- Na rozdelenie alebo spojenie reťazcového poľa môžete použiť funkcie split a join