Sdílet prostřednictvím


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

Pomocí literálové pole lze naplnit pole počáteční hodnoty při jeho vytvoření.Literál pole může obsahovat jako součást New klauzule a určit typ nebo mohla být odvozen z hodnoty pole literálů.Další informace o jak odvodit typ, naleznete v části "Vyplnění Array s počáteční hodnoty" v Matice v jazyce Visual Basic.

Chcete-li inicializovat proměnnou pole pomocí literálové pole

  • Buď New klauzule, nebo pokud přiřadíte hodnotu pole, zadat hodnoty prvku uvnitř složených závorek ({}).Následující příklad ukazuje několik způsobů, jak deklarovat, vytvořit a inicializovat proměnnou, která obsahuje 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}
    

    Poté, co každý příkaz spustí, pole, která je vytvořena má délku 3 s prvky na indexu 0 až 2 obsahující počáteční hodnoty indexu.Je-li horní mez a hodnoty, musí obsahovat hodnotu pro každý prvek z indexu 0 až horní mez.

    Všimněte si, že není nutné zadat index horní mez, pokud zadáte hodnoty elementů v matici literálu.Pokud je zadána žádná horní mez, velikost pole odvodit na základě počtu hodnot pole literálů.

K inicializaci proměnné vícerozměrné pole pomocí literály pole

  • Vnoření hodnot uvnitř složených závorek ({}) do závorek.Zajistěte, aby literály vnořená pole, které všechny odvodit jako pole stejného typu a délky.Následující příklad kódu ukazuje několik příkladů inicializace vícerozměrné 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 vynecháte a kompilátor odvodit hranice pole na základě hodnot v pole literálů.Je-li horní hranicí a hodnoty, musí obsahovat hodnotu pro každý prvek z indexu 0 až horní mez v každé dimenzi.Následující příklad ukazuje několik způsobů, jak deklarovat, vytvořit a inicializovat proměnnou obsahující dvojrozměrné pole s prvky 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}}
    

    Poté, co každý příkaz spustí, vytvořené pole obsahuje šest inicializované elementy, které mají indexy (0,0), (0,1), (0,2), (1,0), (1,1), a (1,2).Každé umístění pole obsahuje hodnotu 10.

  • Tento příklad prochází vícerozměrné pole.V Visual Basic Console Application, vložte kód do Sub Main() metoda.Poslední komentáře zobrazit 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
    

K inicializaci proměnné pole nepravidelného pomocí literály pole

  • Vnoření hodnot objektu uvnitř složených závorek ({}).Přestože můžete také vnořit literály pole, která specifikuje pole různé délky, v případě zubatou, ujistěte se, že který literály vnořená pole uzavřená v závorkách (()).Závorky vynutit hodnocení literály vnořená pole a výsledné pole jsou použita jako počáteční hodnoty pole nepravidelného.Následující příklad kódu ukazuje dva příklady inicializace zubaté 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() {}}
    
  • Tento příklad prochází vícenásobné pole.Vložte kód do Sub Main()metoda Visual Basic Console Application.Komentáře v kódu označuje, jaké by měly být 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

Poradce při potížích matic (Visual Basic)

Další zdroje

Matice v jazyce Visual Basic