Tablice VB.Net: String, Dynamic z PRZYKŁADAMI
Co to jest tablica?
Tablica to struktura danych używana do przechowywania elementów tego samego typu danych. Elementy są uporządkowane sekwencyjnie, pierwszy element ma indeks 0, a ostatni element ma indeks n-1, gdzie n jest całkowitą liczbą elementów w tablicy.
Jak zadeklarować i zainicjować tablicę
In VB.NET, tablice deklaruje się za pomocą instrukcji Dim. Na przykład:
Dim myData() As Integer
W powyższym przykładzie zdefiniowaliśmy tablicę o nazwie myData, która powinna zawierać elementy typu danych integer. Poniższy przykład pokazuje, jak możemy zadeklarować tablicę, aby zawierała elementy string:
Dim myData(10) As String
Zdefiniowaliśmy tablicę o nazwie myData do przechowywania 10 ciągów znaków.
Tablice możemy inicjować w momencie ich deklaracji. Na przykład:
Dim myData() As Integer = {11, 12, 22, 7, 47, 32}
Zadeklarowaliśmy tablicę myData i dodaliśmy do niej 6 elementów całkowitych. Można to również zrobić w przypadku ciągów:
Dim students() As String = {"John", "Alice", "Antony", "Gloria", "jayden"}
Stworzyliśmy tablicę o nazwie studenci i dodaliśmy do niej 5 nazw.
Tablice o stałym rozmiarze
Tablica o stałym rozmiarze przechowuje stałą liczbę elementów. Oznacza to, że musisz określić liczbę elementów, które będzie zawierał podczas definicji. Załóżmy, że potrzebujesz tablicy zawierającej tylko 3 nazwiska uczniów. Możesz zdefiniować i zainicjować tablicę w następujący sposób:
Dim students(0 to 2) As String students(0) = "John" students (1) = "Alice" students (2) = "Antony"
Zaczęliśmy od zadeklarowania tablicy ciągów o nazwie students. 0 do 2 deklaruje, że tablica będzie przechowywać elementy od indeksu 0 do indeksu 2, co oznacza, że będziemy mieć łącznie 3 elementy.
Aby dodać elementy do tablicy, posłużyliśmy się nazwą tablicy i określiliśmy indeks, pod którym element będzie przechowywany. Na przykład imię Jan będzie zapisane pod indeksem 0 tablicy, co oznacza, że będzie stanowić pierwszy element tablicy. Antony będzie ostatnim elementem tablicy.
Tablice dynamiczne
Jest to tablica, która może zawierać dowolną liczbę elementów. Rozmiar tablicy może wzrosnąć w dowolnym momencie. Oznacza to, że w dowolnym momencie możesz dodawać nowe elementy do tablicy. Aby to zademonstrować, zdefiniujmy najpierw tablicę liczb całkowitych:
Dim nums() As Integer
Zdefiniowaliśmy tablicę liczb całkowitych o nazwie nums. Teraz musisz dodać dwa elementy do tablicy, jednocześnie pozostawiając miejsce na zmianę jej rozmiaru. Musisz użyć instrukcji ReDim w następujący sposób:
ReDim nums(1) nums(0) = 12 nums(1) = 23
Nasza tablica ma teraz dwa elementy o indeksach 0 i 1. Musimy dodać do niej trzeci element o indeksie 3, zachowując dwa elementy, które już posiada. Możemy to zrobić w następujący sposób:
ReDim Preserve nums(2) nums(2) = 35
Tablica ma teraz trzy elementy.
Pobieranie zawartości tablicy
Pobieranie oznacza dostęp do elementów tablicy. Aby uzyskać dostęp do elementu tablicy, używamy jego indeksu. Zademonstrujmy to na przykładzie.
Krok 1) Rozpocznij od utworzenia nowej aplikacji konsolowej.
Krok 2) Dodaj następujący kod do aplikacji:
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
Krok 3) Uruchom kod klikając przycisk Start na pasku narzędzi. Otrzymasz następujące okno:
Użyliśmy następującego kodu:
Wyjaśnienie kodu:
- Tworzenie modułu o nazwie Module1.
- Utworzenie głównej podprocedury.
- Tworzenie tablicy o nazwie studenci do przechowywania elementów łańcuchowych. Tablica będzie przechowywać elementy od indeksu 0 do indeksu 2, co oznacza, że będzie miała w sumie 3 elementy.
- Dodanie imienia John jako pierwszego elementu tablicy, czyli John zapisanego pod indeksem 0.
- Dodanie nazwy Alicja jako drugiego elementu tablicy, czyli Alicji zapisanej pod indeksem 1.
- Dodanie imienia Antony jako trzeciego elementu tablicy, czyli Antony zapisanego pod indeksem 2.
- Drukowanie tekstu i elementu przechowywanego pod indeksem 0 tablicy studentów na konsoli. Studenci(0) pomagają nam uzyskać dostęp do elementu o indeksie 0 tablicy o nazwie studenci.
- Drukowanie tekstu i elementu przechowywanego pod indeksem 1 tablicy studentów na konsoli. Studenci(1) pomagają nam uzyskać dostęp do elementu o indeksie 1 tablicy o nazwie studenci.
- Drukowanie tekstu i elementu przechowywanego pod indeksem 2 tablicy studentów na konsoli. Studenci(2) pomagają nam uzyskać dostęp do elementu o indeksie 2 tablicy o nazwie studenci.
- Wstrzymywanie okna konsoli w oczekiwaniu lub na podjęcie przez użytkownika działań w celu jego zamknięcia.
- Zakończenie podprocedury.
- Koniec modułu.
Dodawanie nowych elementów do tablicy
Stanie się tak tylko wtedy, gdy masz tablicę dynamiczną. Jeśli zadeklarowałeś tablicę wymiarową o stałym rozmiarze i jest ona pełna elementów tablicy, nie możesz dodać do niej nowych elementów. Poniższy przykład pokazuje, jak dodać nowe elementy do tablicy dynamicznej:
Krok 1) Rozpocznij od utworzenia nowej aplikacji konsolowej.
Krok 2) Dodaj następujący kod do aplikacji:
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
Krok 3) Kliknij przycisk Start na pasku narzędzi, aby uruchomić kod. Powinieneś otrzymać następujące okno:
Użyliśmy następującego kodu:
Wyjaśnienie kodu:
- Tworzenie modułu o nazwie Module1.
- Utworzenie głównej podprocedury.
- Tworzenie tablicy o nazwie nums do przechowywania wartości całkowitych.
- Określając, że powyższa tablica będzie przechowywać dwa elementy, tj. pod indeksem 0 i 1, pozostawiając jednocześnie możliwość zmiany rozmiaru.
- Dodanie elementu 12 do indeksu 0 tablicy nums.
- Dodanie elementu 23 do indeksu 1 tablicy nums.
- Użycie pętli for do utworzenia zmiennej x, która pomoże nam w iteracji od pierwszego do ostatniego elementu tablicy nums. Zauważ, że tablica ma teraz dwa elementy, 12 i 23.
- Drukowanie tekstu i elementów tablicy na konsoli.
- Zakończenie pętli for i przejście do kolejnej części kodu.
- Zmień rozmiar tablicy nums, aby umożliwić elementy o indeksach od 0 do 2. Teraz będzie można przechowywać 3 elementy zamiast 2. Słowo kluczowe Preserve pomaga nam zachować bieżące elementy tablicy, czyli 12 i 23.
- Dodanie elementu 35 do indeksu 2 tablicy. Tablica ma teraz trzy elementy: 12, 23 i 35.
- Użycie pętli for do utworzenia zmiennej x, która pomoże nam w iteracji od pierwszego do ostatniego elementu tablicy nums. Zauważ, że tablica ma teraz trzy elementy: 12, 23 i 35.
- Drukowanie tekstu i elementów tablicy na konsoli.
- Zakończenie pętli for i przejście do kolejnej części kodu.
- Wstrzymaj okno konsoli, czekając, aż użytkownik podejmie działanie w celu jego zamknięcia.
- Zakończenie podprocedury.
- Koniec modułu.
Usuwanie tablicy
Zaleca się wymazanie tablicy po jej zakończeniu, głównie gdy masz do czynienia z tablicą dynamiczną. Pomoże Ci to zwolnić trochę miejsca w pamięci.
Aby usunąć tablicę, wystarczy wywołać instrukcję Erase, po której następuje nazwa tablicy. Na przykład:
Dim nums(1) As Integer nums(0) = 12 nums(1) = 23 Erase nums
Zadeklarowaliśmy tablicę liczb całkowitych o nazwie nums i dodaliśmy do niej dwa elementy. Instrukcja Erase nums usunie tablicę.
Funkcja podziału
Funkcja split udostępniana przez Visual Basic .NET pomaga nam dzielić ciąg na części i przechowywać je w tablicy. Poniższy przykład pokazuje, jak używać tej funkcji:
Krok 1) Utwórz nową aplikację konsolową.
Krok 2) Dodaj następujący kod do aplikacji:
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
Krok 3) Uruchom kod klikając przycisk Start na pasku narzędzi. Powinieneś otrzymać następujące okno:
Użyliśmy następującego kodu:
Wyjaśnienie kodu:
- Tworzenie modułu o nazwie Module1.
- Rozpoczęcie głównej podprocedury.
- Tworzenie tablicy o nazwie myarray do przechowywania wartości łańcuchowych.
- Tworzenie zmiennej łańcuchowej o nazwie guru99.
- Tworzenie zmiennej całkowitej o nazwie x.
- Przypisanie stringu do zmiennej guru99.
- Podział powyższego ciągu na części i umieszczenie ich w tablicy o nazwie myarray. „,” (przecinek) jest ogranicznikiem, dlatego funkcja podziału użyje go do oznaczenia końca różnych części ciągu.
- Użycie zmiennej x do iteracji po tablicy o nazwie myarray. LBound i UBound określają odpowiednio dolną i górną granicę tablicy.
- Drukowanie wartości tablicy o nazwie myarray na konsoli.
- Zakończenie pętli for i
Funkcja łączenia
Funkcja join pomaga nam połączyć wiele tablic w jeden ciąg. Poniższy przykład to demonstruje:
Krok 1) Rozpocznij od utworzenia nowej aplikacji konsolowej.
Krok 2) Dodaj następujący kod do aplikacji:
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
Krok 3) Uruchom kod, klikając przycisk Start na pasku narzędzi:
Użyliśmy następującego kodu:
Wyjaśnienie kodu:
- Tworzenie modułu o nazwie Module1.
- Utworzenie głównej podprocedury.
- Tworzenie tablicy o nazwie studenci do przechowywania 3 wartości łańcuchowych.
- Dodanie imienia John do indeksu 0 tablicy.
- Dodanie nazwy Alice do indeksu 1 tablicy.
- Dodanie imienia Antony do indeksu 2 tablicy.
- Zdefiniowanie zmiennej o nazwie koledzy z klasy typu string.
- Łączenie wszystkich elementów tablicy students i rozdzielanie ich za pomocą , (przecinek). Wynik tej operacji zostanie przypisany do zmiennej classmates.
- Wydrukowanie zawartości zmiennej classmates na konsoli.
- Wstrzymywanie okna konsoli w oczekiwaniu na podjęcie przez użytkownika działań w celu jego zamknięcia.
- Zakończenie głównego podprocedury.
- Zakończenie modułu.
Podsumowanie
- Tablice służą do przechowywania elementów danych, które do siebie należą typ danych.
- Tablica dynamiczna pozwala użytkownikowi zmienić jej rozmiar poprzez dodanie do niej większej liczby elementów. Używasz polecenia ReDim do dodawania elementów do istniejącej tablicy
- Nie można zmienić rozmiaru tablicy o stałym rozmiarze.
- Elementy tablicy uporządkowane są za pomocą indeksów, przy czym pierwszy element ma indeks 0, a ostatni element ma indeks n-1, gdzie n jest całkowitą liczbą elementów tablicy.
- Tablice można usunąć za pomocą funkcji Usuń
- Możesz użyć funkcji split i Join, aby odpowiednio podzielić lub połączyć tablicę ciągów