Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Вы инициализируете переменную массива, добавляя литерал массива в конструкцию New и задавая начальные значения массива. Можно указать тип или разрешить вывод из значений в литерале массива. Дополнительные сведения о выводе типа см. в разделе "Заполнение массива начальными значениями" в массивах.
Инициализация переменной массива с помощью литерала массива
В
Newпредложении или при назначении значения массива укажите значения элементов внутри фигурных скобок ({}). В следующем примере показано несколько способов объявления, создания и инициализации переменной для хранения массива с элементами типа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}После выполнения каждой инструкции созданный массив имеет длину 3, с элементами индекса 0 до индекса 2, содержащими начальные значения. Если вы предоставляете как верхнюю границу, так и значения, необходимо включить значение для каждого элемента из индекса 0 через верхнюю границу.
Обратите внимание, что при указании значений элементов в литерале массива не требуется указывать верхнюю границу индекса. Если верхняя граница не указана, размер массива определяется на основе количества значений в литерале массива.
Инициализация многомерной переменной массива с помощью литералов массива
Вложенные значения внутри фигурных скобок (
{}) в фигурных скобках. Убедитесь, что вложенные литералы массива воспринимаются как массивы одного типа и одинаковой длины. В следующем примере кода показано несколько примеров инициализации многомерного массива.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}}}Вы можете явно указать границы массива или не указывать их, а компилятор определит границы массива на основе значений в литерале массива. Если вы предоставляете как верхние границы, так и значения, необходимо включить значение для каждого элемента из индекса 0 через верхнюю границу в каждом измерении. В следующем примере показано несколько способов объявления, создания и инициализации переменной для хранения двухмерного массива с элементами типа
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}}После выполнения каждой инструкции созданный массив содержит шесть инициализированных элементов, имеющих индексы
(0,0),(0,1), ,(0,2)(1,0)и(1,1).(1,2)Каждое расположение массива содержит значение10.В следующем примере выполняется итерация по многомерному массиву. В консольное приложение Windows, написанное в Visual Basic, вставьте код в
Sub Main()метод. Последние комментарии показывают выходные данные.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
Инициализация переменной зубчатого массива с помощью литералов массива
Поместите значения объекта внутрь фигурных скобок (
{}). Хотя также можно вложить литералы массивов, которые указывают массивы разных длин, в случае со ступенчатым массивом убедитесь, что вложенные литералы массивов заключены в скобки (()). Круглые скобки принудительно выполняют вычисление литералов вложенных массивов, и полученные массивы используются в качестве начальных значений зубчатого массива. В следующем примере кода показаны два способа инициализации зубчатого массива.' 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() {}}В следующем примере выполняется итерация по зубчатому массиву. В консольное приложение Windows, написанное в Visual Basic, вставьте код в
Sub Main()метод. Последние комментарии в коде показывают выходные данные.' 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