Porady: inicjowanie zmiennej tablicy w języku Visual Basic

Aby zainicjalizować zmienną tablicy należy dołączyć literał tablicy do klauzuli New i określić wartość początkową tablicy.Możesz określić typ lub pozwolić, aby był wywnioskowany z wartości w literale tablicy.Aby uzyskać więcej informacji dotyczących typu zakładanego, zobacz "Wypełnianie tablicy początkowymi wartościami" w Tablice w Visual Basic.

Aby zainicjalizować zmienną tablicy przy użyciu literału tablicy

  • Albo w New zdaniu, lub po przypisaniu wartości tablicy, należy podać wartości element w nawiasach klamrowych ({}).W poniższym przykładzie pokazano kilka sposobów na zadeklarowanie, tworzenie i inicjowanie zmiennej, by zawierała tablicę z elementami 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, która jest tworzona ma długość 3, z elementami o indeksie 0 za pomocą indeksu 2, zawierającego wartości początkowe.Jeśli podasz górną granicę i wartości, musisz dołączyć wartość dla każdego elementu z indeksu od 0 do górnej granicy.

    Należy zauważyć, że nie trzeba określić górnego ograniczenia, jeśli podano wartości elementów w tablicy literału.Jeśli nie zostanie określona górna granica, rozmiar tablicy jest wnioskowany na podstawie liczby wartości w literale tablicy.

Aby zainicjalizować wielowymiarową zmienną tablicy przy użyciu literałów tablicy

  • (Umieść wartości obiektu w nawiasach klamrowych ({}) wewnątrz nawiasów.Upewnij się, że zagnieżdżone literały tablicowe wszystkie działają 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żesz jawnie określić granice tablicy lub opuścić je i pozwolić kompilatorowi na wywnioskowanie granic na podstawie wartości w literale tablicy.Jeśli podasz górne granice i wartości, musisz dołączyć wartość dla każdego elementu z indeksu od 0 do górnej granicy w każdym wymiarze.W poniższym przykładzie pokazano kilka sposobów na zadeklarowanie, tworzenie i inicjowanie zmiennej, by zawierała dwuwymiarową tablicę z elementami typu Short

    ' 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, utworzona tablica zawiera sześć zainicjowanych elementów, które mają indeksy (0,0), (0,1), (0,2), (1,0), (1,1), i (1,2).Każda lokalizacja tablicy zawiera wartość 10.

  • Poniższy przykład wykonuje iterację przez tablicę wielowymiarową.W aplikacji konsoli systemu Windows, która jest napisana w języku Visual Basic, wklej kod wewnątrz metody Sub Main().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 zainicjalizować niepełną zmienną tablicy przy użyciu literałów tablicy

  • Umieść wartości obiektu w nawiasach 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, upewnij się, że że literały tablicowe zagnieżdżone są ujęte w nawiasy (()).Nawiasy narzucają ewaluację zagnieżdżonych tablic literałowych, a wynikłe tablice są używane jako wartości początkowe niepełnych tablic.Poniższy przykład kodu pokazuje dwa przykłady inicjalizacji tablicy nieregularnej.

    ' 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ą.W aplikacji konsoli systemu Windows, która jest napisana w języku Visual Basic, wklej kod wewnątrz metody Sub Main(). Ostatnio dodane komentarze w kodzie pokazują 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 związanych z tablicami (Visual Basic)

Inne zasoby

Tablice w Visual Basic