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)