Tablice 1. Tablice jednowymiarowe

Transkrypt

Tablice 1. Tablice jednowymiarowe
Tablice
Tablice pozwalają nam na przechowywanie wielu wartości
tego samego typu w jednej zmiennej. Mogą mieć jeden lub
więcej wymiarów.
Maksymalna ilość wymiarów to 32.
Trzeba pamiętać o tym, że niemożliwe jest deklarowanie
dolnej granicy i jest ona równa zawsze 0.
System Windows, a więc i Visual Basic korzysta z tablic
statycznych i dynamicznych.
Tablice statyczne – posiadaja stałą, niezmienną w trakcie
działania programu wielkość, ustaloną w trakcie deklaracji.
Tablice dynamiczne – posiadaja zmienną wielkość, w
trakcie działania programu możemy zwiększać lub
zmniejszać wielkość tablicy. W momencie deklaracji
ustalamy tylko ilość wskaźników dla danej tablicy.
1. Tablice jednowymiarowe
Deklaracja
Dim tablica() As Integer
Dim wektor(9) As Integer
W pierwszym przypadku jest to tablica
jednowymiarowa bez zadeklarowanego rozmiaru.
Druga także oznacza tablicę jednowymiarową,
lecz z określonym rozmiarem. Pamiętając o tym,
że w VB.NET dolna granica jest zawsze równa 0,
dlatego też liczba elementów tej tablicy jest równa
10 (kolejne wartości wskaźnika od 0 do 9).
Elementy przechowywane w tych tablicach będą typu
Integer.
Inicjalizacja wartości elementów tablicy
Podobnie jak w przypadku zmiennych można inicjować
tablice podczas ich deklarowania
tylko dla tablic o nieustalonych rozmiarach
Dim tablica() As Integer={1,2,3}
Ponieważ indeksowanie zaczyna się od 0 dlatego
też element tablica(0)=1.
2. Tablice wielowymiarowe
Deklarowanie
Dim macierz(,) As Integer
Dim tablica(9,9,9) As Integer
Pierwsza deklaracja oznacza dwuwymiarową
tablicę bez określenia rozmiaru, druga natomiast
trójwymiarową o określonej wielkości (10*10*10).
Inicjalizacja
Dim tablica(,) As String = {{"a", "b"}, {"c", "d"}}
Każda para nawiasów klamrowych wewnętrznych
oznacza jeden wiersz (przyjmując umownie
pierwszy wskaźnik jako wiersz).
Zmiana rozmiaru tablicy
Nowym udogodnieniem wprowadzonym do VB.NET jest
możliwość zmiany statusu tablicy z statycznej na
dynamiczną, przez użycie deklaracji Redim (pomimo iż
podczas deklaracji podano już jakiś wymiar) np.
Dim wektor(2) As Integer
ReDim wektor(3)
Należy pamiętać o tym, że zmiana rozmiaru powoduje
utratę całej zawartości tablicy.
Jeżeli chcemy zachować dotychczasowe elementy tablicy
(lub ich część), stosujemy słowo kluczowe Preserve.
Dim tablica() = {1, 2, 3, 4, 5, 6, 7}
‘zwiększenie rozmiaru tablicy
Po tej deklaracji tablica będzie zawierać
elementy:
1, 2, 3, 4, 5, 6, 7 ,0, 0, 0 i 0 (łącznie 11
elementów –zachowane wszystkie
dotychczasowe elementy, a dodawane elementy
umieszczane są na końcu).
ReDim Preserve tablica(10)
‘zmniejszenie rozmiaru tablicy
Po tej deklaracji tablica będzie zawierać
dotychczasowe elementy:
1, 2, 3, 4 i 5 (łącznie 5 elementów – usuwane są
elementy od góry tablicy).
ReDim Preserve tablica(4)
Zmiana rozmiaru tablic wielowymiarowych
Możemy zmieniać tylko ostatni wymiar !
Dim tablica(,) As Integer = {{1, 2}, {3, 4}}
W powyższym przykładzie zadeklarowana i
zainicjowana została tablica dwuwymiarowa
zawierająca dwa wiersze i dwie kolumny.
Deklaracja:
ReDim Preserve tablica(2, 10)
jest niedozwolona bo próbuje zmienić wartość
pierwszego wymiaru, ale:
deklaracja
ReDim Preserve tablica(1, 10)
jest jak najbardziej poprawna bo wartość tego
pierwszego wymiaru nie ulega zmianie.
Badanie aktualnego rozmiaru tablicy
Określić rozmiar (górny) tablicy można za pomocą metody
GetUpperBound(numer_wymiaru):
gdzie parametr numer_wymiaru oznacza numer
badanego wymiaru (poczynając od zera).
Rozmiar1= tablica.GetUpperBound(0)
‘rozmiar1 osiągnie 1
Rozmiar2= tablica.GetUpperBound(1)
‘rozmiar2 osiągnie 10
ReDim Preserve tablica(tablica.GetUpperBound(0), 10)

Podobne dokumenty