Rozwiązywanie problemów z tablic (Visual Basic)
Ta strona zawiera listę niektórych typowych problemów, które mogą wystąpić podczas pracy z tablicami.
Błędy kompilacji deklarowanie i Inicjowanie tablicy
Błędy kompilacji mogą wynikać z niezrozumienia zasady deklarowania, tworzenie i Inicjowanie tablic.Najbardziej typowe przyczyny powstawania błędów są następujące:
Dostarczanie Operator New (Visual Basic) klauzuli po określeniu długości wymiaru w deklaracji zmiennej tablicy.Poniższe wiersze kodu pokazują nieprawidłowych deklaracji tego typu.
Dim INVALIDsingleDimByteArray(2) As Byte = New Byte()
Dim INVALIDtwoDimShortArray(1, 1) As Short = New Short(,)
Dim INVALIDjaggedByteArray(1)() As Byte = New Byte()()
Określanie długości wymiaru dla więcej niż tablicy najwyższego poziomu tablicę nieregularną.Następujący wiersz kodu zawiera nieprawidłową deklaracją tego typu.
Dim INVALIDjaggedByteArray(1)(1) As Byte
Pominięcie New słowa kluczowego, określając wartości elementu.Następujący wiersz kodu zawiera nieprawidłową deklaracją tego typu.
Dim INVALIDoneDimShortArray() As Short = Short() {0, 1, 2, 3}
Dostarczanie New klauzuli bez nawiasów klamrowych ({}).Poniższe wiersze kodu pokazują nieprawidłowych deklaracji tego typu.
Dim INVALIDsingleDimByteArray() As Byte = New Byte()
Dim INVALIDsingleDimByteArray() As Byte = New Byte(2)
Dim INVALIDtwoDimShortArray(,) As Short = New Short(,)
Dim INVALIDtwoDimShortArray(,) As Short = New Short(1, 1)
Uzyskiwanie dostępu do tablicy poza zakresem
Proces inicjowania tablicy przypisuje górne i dolne ograniczenie każdego wymiaru.Każdy dostęp do elementu tablicy, należy określić prawidłowy indeksu lub indeks dolny, dla każdego wymiaru.Jeśli każdy indeks jest nad górną granicą lub pod jego dolna granica IndexOutOfRangeException wyniki wyjątek.Kompilator nie może wykryć błąd, wystąpi błąd w czasie wykonywania.
Określenia granic
Jeśli inny składnik przechodzi tablicy do kodu, na przykład jako argument procedury, nie znasz rozmiaru tablicy lub długości jego wymiary.Przed podjęciem próby uzyskania dostępu do żadnych elementów, należy zawsze określić górna granica dla każdego wymiaru tablicy.Jeśli tablica utworzono za pomocą środków innych niż Visual BasicNew klauzuli, dolna granica może być inny niż 0 i jest ustalenie, że dolna granica również najbezpieczniejszą.
Określenie wymiaru
Przy określaniu granic Tablica wielowymiarowa, dba, jak określić wymiar.dimension Parametry GetLowerBound i GetUpperBound metody są oparte na 0, podczas gdy Rank parametry Visual BasicLBound i UBound funkcje są oparte na 1.
Zobacz też
Zadania
Porady: inicjowanie zmiennej tablicy w języku Visual Basic