Sdílet prostřednictvím


Postupy: Inicializace proměnné pole v jazyce Visual Basic

Inicializujte proměnnou pole včetně literálu pole v klauzuli New a určením počáteční hodnoty pole.Můžete určit typ nebo umožnit jeho odvození z hodnot literálu pole.Další informace o tom odvozování typu viz “Vyplnění pole počátečními hodnotami„ v části Pole v jazyce Visual Basic.

Inicializace proměnné pole pomocí literálu pole

  • Buď klauzule New nebo, pokud přiřadíte hodnotu pole, zadejte hodnoty elementů uvnitř závorek ({}).Následující příklad ukazuje několik způsobů, jak deklarovat, vytvářet a inicializovat proměnnou tak, aby obsahovala pole s prvky 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 spuštění všech příkazů má vytvořené pole délku 3, přičemž prvky v indexu 0 až 2 obsahují počáteční hodnoty.Pokud zadáte horní mez a hodnoty, je nutné zahrnout hodnotu pro každý prvek od indexu 0 až po horní mez.

    Všimněte si, že není třeba zadávat horní mez indexu, pokud zadáte hodnoty elementu v literálu pole.Pokud není zadána žádná horní mez, je velikost pole odvozena na základě počtu hodnot literálu array.

Inicializace vícedimenzovaného pole pomocí literálů pole

  • Vnořené hodnoty uvnitř složených závorek ({}) v závorkách.Zkontrolujte, že jsou všechny literály vnořeného pole odvozené jako pole stejného typu a délky.Následující příklad kódu ukazuje několik příkladů inicializace multidimenzionálního pole.

    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}}}
    
  • Můžete explicitně určit hranice pole nebo je vynechat a nechat kompilátor odvodit hranice pole na základě hodnot v literálu pole.Pokud zadáte horní mez a hodnoty, je nutné zahrnout hodnotu pro každý prvek od indexu 0 až po horní mez v každém rozměru.Následující příklad ukazuje několik způsobů, jak deklarovat, vytvářet a inicializovat proměnnou tak, aby obsahovala dvojrozměrné pole s prvky 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 spuštění všech příkazů obsahuje vytvořené pole šest inicializovaných prvků s indexy (0,0), (0,1), (0,2), (1,0), (1,1) a (1,2).Každé umístění pole obsahuje hodnotu 10.

  • Následující příklad provede iteraci multidimenzionálního pole.V aplikaci konzoly systému Windows, která je napsán v jazyce Visual Basic, vložte kód do metody Sub Main().Poslední komentáře popisují výstup.

    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
    

Inicializace proměnné vícenásobného pole pomocí literálů pole

  • Hodnoty objektu vložte uvnitř složených závorek ({}).Ačkoli lze také vnořit literály pole, které specifikují pole různé délky, v případě vícenásobného pole se ujistěte, že jsou vnořené literály pole uzavřeny do závorek (()).Závorky vynutí hodnocení literálů vnořených polí a výsledná pole jsou použita jako počáteční hodnoty vícenásobného pole.Následující příklad kódu ukazuje dva příklady inicializace vícenásobného pole.

    ' 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() {}}
    
  • Následující příklad provede iteraci vícenásobného pole.V aplikaci konzoly systému Windows, která je napsán v jazyce Visual Basic, vložte kód do metody Sub Main(). Poslední komentáře v kódu popisují výstup.

    ' 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
    

Viz také

Úkoly

Řešení potíží s poli (Visual basic)

Další zdroje

Pole v jazyce Visual Basic