Co to jest tablica?
Tablica to struktura danych służąca do przechowywania elementów tego samego typu. Elementy są uporządkowane sekwencyjnie, przy czym pierwszy element ma indeks 0, a ostatni element ma indeks n-1, gdzie n to całkowita liczba elementów w tablicy.
W tym samouczku dowiesz się:
- Co to jest tablica?
- Jak zadeklarować i zainicjować tablicę
- Tablice o stałym rozmiarze
- Tablice dynamiczne
- Pobieranie zawartości tablicy
- Dodawanie nowych elementów do tablicy
- Kasowanie tablicy
- Funkcja Split
- Funkcja Join
Jak zadeklarować i zainicjować tablicę
W VB.NET tablice są deklarowane 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 integer. Poniższy przykład pokazuje, jak możemy zadeklarować tablicę do przechowywania elementów ciągów:
Dim myData(10) As String
Zdefiniowaliśmy tablicę o nazwie myData do przechowywania 10 ciągów.
Tablice możemy zainicjować 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ę nazwaną studentami i dodaliśmy do niej 5 nazw.
Tablice o stałym rozmiarze
Tablica o stałym rozmiarze zawiera stałą liczbę elementów. Oznacza to, że musisz zdefiniować liczbę elementów, które będzie zawierać podczas jego 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 Stringstudents(0) = "John"students (1) = "Alice"students (2) = "Antony"
Zaczęliśmy od zadeklarowania tablicy ciągów nazwanej studentami. Liczba od 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, użyliśmy nazwy tablicy i określiliśmy indeks, pod którym element będzie przechowywany. Na przykład imię John zostanie zapisane pod indeksem 0 tablicy, co oznacza, że będzie stanowić pierwszy element tablicy. Antony będzie ostatnim elementem tablicy.
Tablice dynamiczne
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ć, najpierw zdefiniujmy tablicę liczb całkowitych:
Dim nums() As Integer
Zdefiniowaliśmy tablicę liczb całkowitych o nazwie nums. Musisz teraz dodać dwa elementy do tablicy, dając jednocześnie miejsce na zmianę jej rozmiaru. Musisz użyć instrukcji ReDim w następujący sposób:
ReDim nums(1)nums(0) = 12nums(1) = 23
Nasza tablica ma teraz dwa elementy w indeksach 0 i 1. Musimy dodać do niej trzeci element o indeksie 3, zachowując dwa elementy, które już ma. 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. Pokażmy to na przykładzie.
Krok 1) Zacznij od utworzenia nowej aplikacji konsolowej.
Krok 2) Dodaj następujący kod do aplikacji:
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) Uruchom kod, klikając przycisk Start na pasku narzędzi. Pojawi się następujące okno:
Użyliśmy następującego kodu:
Wyjaśnienie kodu:
- Tworzenie modułu o nazwie Module1.
- Tworzenie głównej procedury podrzędnej.
- Tworzenie tablicy o nazwie studentów do przechowywania elementów ciągu. 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 Jana zapisanego pod indeksem 0.
- Dodanie imienia Alice jako drugiego elementu tablicy, czyli Alice zapisanej pod indeksem 1.
- Dodanie imienia Antony jako trzeciego elementu tablicy, czyli Antony przechowywanego pod indeksem 2.
- Drukowanie tekstu i elementu przechowywanego pod indeksem 0 tablicy uczniów na konsoli. Uczniowie (0) pomagają nam uzyskać dostęp do elementu pod indeksem 0 tablicy o nazwie Students.
- Drukowanie tekstu i elementu przechowywanego pod indeksem 1 tablicy uczniów na konsoli. Student (1) pomaga nam uzyskać dostęp do elementu o indeksie 1 tablicy o nazwie Students.
- Drukowanie tekstu i elementu przechowywanego pod indeksem 2 w tablicy uczniów na konsoli. Student (2) pomaga nam uzyskać dostęp do elementu pod indeksem 2 tablicy o nazwie Students.
- Wstrzymywanie okna konsoli w oczekiwaniu lub podjęcie działania przez użytkownika w celu jego zamknięcia.
- Koniec podprocedury.
- Koniec modułu.
Dodawanie nowych elementów do tablicy
Dzieje 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 ilustruje sposób dodawania nowych elementów do tablicy dynamicznej:
Krok 1) Zacznij od utworzenia nowej aplikacji konsolowej.
Krok 2) Dodaj następujący kod do aplikacji:
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) 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.
- Tworzenie głównej procedury podrzędnej.
- Tworzenie tablicy o nazwie nums do przechowywania wartości całkowitych.
- Określenie, że powyższa tablica będzie przechowywać dwa elementy, to znaczy pod indeksem 0 i 1, pozostawiając miejsce na zmianę rozmiaru.
- Dodanie elementu 12 do indeksu 0 numerów tablicy.
- Dodanie elementu 23 do indeksu 1 numerów tablicy.
- Użycie pętli for do utworzenia zmiennej x, aby pomóc nam iterować od pierwszego do ostatniego elementu tablicy nums. Zauważ, że tablica ma teraz dwa elementy, 12 i 23.
- Wydruk tekstu i elementów tablicy na konsoli.
- Zakończenie pętli for i przejście do następnej części kodu.
- Zmień rozmiar tablicy, aby zezwolić na elementy o indeksach od 0 do 2. Teraz będzie można przechowywać 3 elementy zamiast 2. Słowo kluczowe Preserve pomaga nam w utrzymaniu bieżących elementów 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, aby pomóc nam iterować od pierwszego do ostatniego elementu tablicy nums. Zauważ, że tablica ma teraz trzy elementy, 12, 23 i 35.
- Wydruk tekstu i elementów tablicy na konsoli.
- Zakończenie pętli for i przejście do następnej części kodu.
- Wstrzymaj okno konsoli, czekając, aż użytkownik podejmie akcję, aby je zamknąć.
- Koniec podprocedury.
- Koniec modułu.
Usuwanie tablicy
Zaleca się wymazanie tablicy po jej zakończeniu, głównie wtedy, gdy mamy do czynienia z tablicą dynamiczną. Pomoże Ci to zwolnić trochę miejsca w pamięci.
Aby usunąć tablicę, wystarczy wywołać instrukcję Erase, a po niej nazwę tablicy. Na przykład:
Dim nums(1) As Integernums(0) = 12nums(1) = 23Erase nums
Zadeklarowaliśmy tablicę liczb całkowitych o nazwie nums i dodaliśmy do niej dwa elementy. Instrukcja Erase nums usunie tablicę.
Funkcja Split
Funkcja podziału udostępniana przez Visual Basic .NET pomaga nam podzielić ciąg na części i zachować je w tablicy. Poniższy przykład demonstruje, jak używać tej funkcji:
Krok 1) Utwórz nową aplikację konsolową.
Krok 2) Dodaj następujący kod do aplikacji:
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) 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 ciągów.
- Tworzenie zmiennej łańcuchowej o nazwie guru99.
- Tworzenie zmiennej całkowitej o nazwie x.
- Przypisanie łańcucha do zmiennej guru99.
- Podzielenie powyższego ciągu na części i umieszczenie ich w tablicy o nazwie myarray. Znak „,” (przecinek) jest ogranicznikiem, dlatego funkcja split użyje go do oznaczenia końca różnych części ciągu.
- Używanie zmiennej x do iteracji po tablicy o nazwie myarray. LBound i UBound określają odpowiednio dolne i górne granice tablicy.
- Drukowanie wartości tablicy o nazwie myarray na konsoli.
- Zakończenie pętli for i
Funkcja Join
Funkcja join pomaga nam łączyć wiele tablic w jeden ciąg. Poniższy przykład ilustruje to:
Krok 1) Zacznij od utworzenia nowej aplikacji konsolowej.
Krok 2) Dodaj następujący kod do aplikacji:
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) 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.
- Tworzenie głównej procedury podrzędnej.
- Tworzenie tablicy nazwanej studentami do przechowywania 3 wartości ciągów.
- Dodanie imienia John do indeksu 0 tablicy.
- Dodanie imienia Alice do indeksu 1 tablicy.
- Dodanie imienia Antony do indeksu 2 tablicy.
- Definiowanie zmiennej o nazwie Classmates o typie danych łańcuchowych.
- Łączenie wszystkich elementów tablicy uczniów i oddzielanie ich za pomocą, (przecinek). Wynik tej operacji zostanie przypisany zmiennym kolegom z klasy.
- Drukowanie zawartości zmiennej kolegów z klasy na konsoli.
- Wstrzymywanie okna konsoli w oczekiwaniu na podjęcie działania przez użytkownika w celu jego zamknięcia.
- Zakończenie głównej podprocedury.
- Zakończenie modułu.
Podsumowanie
- Tablice służą do przechowywania elementów danych należących do tego samego typu danych.
- Tablica dynamiczna umożliwia użytkownikowi zmianę jej rozmiaru 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 są uporządkowane za pomocą indeksów, przy czym pierwszy element znajduje się pod indeksem 0, a ostatni element pod indeksem n-1, gdzie n to całkowita liczba elementów tablicy.
- Tablice można usuwać za pomocą funkcji Erase
- Możesz użyć funkcji split i join, aby odpowiednio podzielić lub połączyć tablicę ciągów