Udostępnij za pośrednictwem


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.

tk3e4df5.collapse_all(pl-pl,VS.110).gifOkreś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ą. 

tk3e4df5.collapse_all(pl-pl,VS.110).gifOkreś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

Inne zasoby

Tablice w języku Visual Basic