Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Proměnnou pole inicializujete zahrnutím literálu pole do New části skriptu a zadáním počátečních hodnot pole. Můžete buď zadat typ, nebo nechat ho odvodit z hodnot literálu pole. Další informace o tom, jak je typ odvozen, naleznete v tématu "Naplnění pole počátečními hodnotami" v polích.
Inicializace proměnné pole pomocí literálu pole
NewV klauzuli nebo při přiřazení hodnoty pole zadejte hodnoty prvků uvnitř složených závorek ({}). Následující příklad ukazuje několik způsobů, jak deklarovat, vytvořit a inicializovat proměnnou obsahující pole obsahující prvky typuChar.' 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 provedení každého příkazu má vytvořené pole délku 3, přičemž prvky indexu 0 až index 2 obsahují počáteční hodnoty. Pokud zadáte horní mez i hodnoty, musíte zahrnout hodnotu pro každý prvek z indexu 0 až do horní hranice.
Všimněte si, že pokud zadáváte hodnoty prvků v poli ve formě literálu, nemusíte zadávat horní mez indexu. Pokud není zadána žádná horní mez, velikost pole se odvodí na základě počtu hodnot v literálu pole.
Inicializace vícerozměrné proměnné pole pomocí literálů pole
Hodnoty vnořené uvnitř složených závorek
{}, obklopené složenými závorkami. Ujistěte se, že literály vnořeného pole odvozují 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ě zadat hranice pole, nebo je vynechat a umožnit kompilátoru, aby hranice pole odvodil na základě hodnot v literálu pole. Pokud zadáte horní mez i hodnoty, musíte zahrnout 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, která bude obsahovat 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 provedení každého příkazu obsahuje vytvořené pole šest inicializovaných prvků, které mají indexy
(0,0),(0,1),(0,2),(1,0),(1,1)a(1,2). Každé umístění pole obsahuje hodnotu10.Následující příklad iteruje prostřednictvím multidimenzionálního pole. V konzolové aplikaci systému Windows napsané v jazyce Visual Basic vložte kód uvnitř
Sub Main()metody. Poslední komentáře zobrazují 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é zubatého pole pomocí literálů pole
Vnoření hodnot objektů uvnitř složených závorek (
{}). "Ačkoli můžete také vložit literály pole, které určují pole různých délek, v případě roztřepeného pole se ujistěte, že jsou vnořené literály pole uzavřeny v závorkách (())." Závorky vynutí vyhodnocení vnořených literálů pole a výsledná pole se použijí jako počáteční hodnoty zubatého pole. Následující příklad kódu ukazuje dva příklady inicializace jagged array.' 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 iteruje přes zubaté pole. V konzolové aplikaci systému Windows napsané v jazyce Visual Basic vložte kód uvnitř
Sub Main()metody. Poslední komentáře v kódu zobrazují 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é
- polí
- Řešení potíží s poli