Udostępnij za pośrednictwem


Porady: inicjowanie zmiennej tablicy w języku Visual Basic

Za pomocą literału tablicowego, można wypełnić tabelę z wartościami początkowymi podczas jej tworzenia.Literał array może zawierać, jako część New klauzuli, a następnie określ typ lub zezwolić na jego można wywnioskować na podstawie wartości w tablicy literału.Aby dowiedzieć się więcej na temat jak typ jest wnioskowana, zobacz "Podczas wypełniania tablicy z początkowej wartości" w Tablice w języku Visual Basic.

Aby zainicjować zmienną tablicową, za pomocą literału tablicowego

  • W New klauzuli, lub po przypisaniu wartości tablicy, należy podać wartości element w nawiasach klamrowych ({}).W poniższym przykładzie przedstawiono kilka sposobów zadeklarować, tworzenia i inicjowania zmiennej zawierać tablicę, która ma elementy typu Char.

    ' The following five lines of code create the same array.
    ' Preferred syntaxes are on the lines with chars1 and chars2.
    Dim chars1 = {"%"c, "&"c, "@"c}
    Dim chars2 As Char() = {"%"c, "&"c, "@"c}
    
    Dim chars3() As Char = {"%"c, "&"c, "@"c}
    Dim chars4 As Char() = New Char(2) {"%"c, "&"c, "@"c}
    Dim chars5() As Char = New Char(2) {"%"c, "&"c, "@"c}
    

    Po wykonaniu każdej instrukcji, Tablica utworzona ma długość 3, z elementami o indeksie 0 za pomocą indeksu 2, zawierające wartości początkowe.Jeśli zostanie podana, górna granica i wartości, musi zawierać wartość dla każdego elementu z indeksu 0 przez górną granicą.

    Należy zauważyć, że nie jest konieczne określanie indeks górny, jeśli podano wartości elementu w tablicy literału.Jeśli nie określono ma górnego ograniczenia, rozmiar tablicy jest wnioskowana, na podstawie liczby wartości literału tablicy.

Aby zainicjować zmienną Tablica wielowymiarowa za pomocą literałów tablicowych

  • Gniazdo wartości w nawiasach klamrowych ({}) w nawiasach klamrowych.Zapewnić, że literały tablicowe zagnieżdżone, które wszystkie wywnioskować jako tablice tego samego typu i długości.Poniższy przykład kodu pokazuje kilka przykładów inicjalizacji tablicy wielowymiarowej.

    Dim numbers = {{1, 2}, {3, 4}, {5, 6}}
    Dim customerData = {{"City Power & Light", "http://www.cpandl.com/"},
                        {"Wide World Importers", "http://wideworldimporters.com"},
                        {"Lucerne Publishing", "http://www.lucernepublishing.com"}}
    
    ' You can nest array literals to create arrays that have more than two 
    ' dimensions.
    Dim twoSidedCube = {{{1, 2}, {3, 4}}, {{5, 6}, {7, 8}}}
    
  • Można jawnie określić granice tablicy lub je pominąć i kompilator wywnioskować granice tablicy, na podstawie wartości w tablicy literału.Jeśli podasz górną granicę i wartości, musi zawierać wartość dla każdego elementu z indeksu 0 przez górną granicę w każdym wymiarze.W poniższym przykładzie przedstawiono kilka sposobów zadeklarować, tworzenia i inicjowania zmiennej zawiera dwuwymiarową tablicę, która ma elementy typuShort

    ' The following five lines of code create the same array.
    ' Preferred syntaxes are on the lines with scores1 and scores2.
    Dim scores1 = {{10S, 10S, 10S}, {10S, 10S, 10S}}
    Dim scores2 As Short(,) = {{10, 10, 10}, {10, 10, 10}}
    
    Dim scores3(,) As Short = {{10, 10, 10}, {10, 10, 10}}
    Dim scores4 As Short(,) = New Short(1, 2) {{10, 10, 10}, {10, 10, 10}}
    Dim scores5(,) As Short = New Short(1, 2) {{10, 10, 10}, {10, 10, 10}}
    

    Po wykonaniu każdej instrukcji, utworzonego tablica zawiera sześć zainicjować elementów, które mają indeksy (0,0), (0,1), (0,2), (1,0), (1,1), i (1,2).Każda lokalizacja array zawiera wartość 10.

  • Poniższy przykład wykonuje iterację przez Tablica wielowymiarowa.W Visual Basic Console Application, Wklej kod wewnątrz Sub Main() metoda.Ostatnio dodane komentarze pokazują dane wyjściowe.

    Dim numbers = {{1, 2}, {3, 4}, {5, 6}}
    
    ' Iterate through the array.
    For index0 = 0 To numbers.GetUpperBound(0)
        For index1 = 0 To numbers.GetUpperBound(1)
            Debug.Write(numbers(index0, index1).ToString & " ")
        Next
        Debug.WriteLine("")
    Next
    ' Output
    '  1 2
    '  3 4
    '  5 6
    

Aby zainicjować zmienną nieregularnej tablicy za pomocą literałów tablicowych

  • Gniazdo wartości obiektów wewnątrz nawiasów klamrowych ({}).Chociaż można także zagnieżdżać literały tablicowe, określające tablice o różnej długości, w przypadku nieregularnej tablicy wielowymiarowej, upewnij się, że literały tablicowe zagnieżdżonych znajdującymi się w nawiasach (()).Nawiasy wymuszają oceny literały tablicowe zagnieżdżonych, a wynikowy tablice są używane jako wartości początkowe tablicę nieregularną.Poniższy przykład kodu pokazuje dwa przykłady inicjowania tablicę nieregularną.

    ' Create a jagged array of arrays that have different lengths.
    Dim jaggedNumbers = {({1, 2, 3}), ({4, 5}), ({6}), ({7})}
    
    ' Create a jagged array of Byte arrays.
    Dim images = {New Byte() {}, New Byte() {}, New Byte() {}}
    
  • Poniższy przykład wykonuje iterację przez tablicę nieregularną.Wklej kod wewnątrz Sub Main()metodę w Visual Basic Console Application.Komentarze w kodzie wskazują, jakie powinny być dane wyjściowe.

    ' Create a jagged array of arrays that have different lengths.
    Dim jaggedNumbers = {({1, 2, 3}), ({4, 5}), ({6}), ({7})}
    
    For indexA = 0 To jaggedNumbers.Length - 1
        For indexB = 0 To jaggedNumbers(indexA).Length - 1
            Debug.Write(jaggedNumbers(indexA)(indexB) & " ")
        Next
        Debug.WriteLine("")
    Next
    
    ' Output:
    '  1 2 3 
    '  4 5 
    '  6
    '  7
    

Zobacz też

Zadania

Rozwiązywanie problemów z tablic (Visual Basic)

Inne zasoby

Tablice w języku Visual Basic