How to: Initialize a Multidimensional Array
You can initialize a multidimensional array variable the same ways you can initialize a one-dimensional array, except that you must account for every dimension.
To initialize a multidimensional array variable
In the array variable declaration, specify each index upper bound inside the parentheses, separated by commas. The following example declares and creates a variable to hold a two-dimensional array with elements of the Short Data Type (Visual Basic), specifying only the upper bounds.
Dim sizes(1, 1) As Short
Following the execution of this statement, the array in variable sizes has a total of four elements, at indexes (0, 0), (0, 1), (1, 0), and (1, 1), holding default values. If you create an array in this manner, you must use a subsequent assignment statement to assign each element value.
-or-
Follow the declaration with an equal sign (=) and a New (Visual Basic) clause. In the New clause, repeat the element data type, specify the index upper bounds inside parentheses, and supply empty braces ({}). The following example declares and creates a variable to hold a three-dimensional array with elements of the Short data type, specifying only the upper bounds.
Dim replyCounts(,,) As Short = New Short(2, 1, 2) {}
Following the execution of this statement, the array in variable replyCounts has 18 elements holding default values. If you create an array in this manner, you must use a subsequent assignment statement to assign each element value.
Note
You can initialize the index upper bounds in only one location. If you specify upper bounds in the parentheses following the array variable name, you cannot use a New clause. If you specify upper bounds in the parentheses in the New clause, you must leave the parentheses following the variable name empty.
-or-
In the New clause, specify each index upper bound inside the parentheses, and supply the element values inside the braces ({}). The following example declares, creates, and initializes a variable to hold a two-dimensional array with elements of the Short data type, specifying the upper bounds and the values. Note the two levels of braces in the New clause.
Dim startingScores(,) As Short = New Short(1, 1) {{10, 10}, {10, 10}}
Following the execution of this statement, the array in variable startingScores holds four initialized elements. If you supply both the upper bounds and the values, you must include a value for every element from index 0 through the upper bound in every dimension.
-or-
In the New clause, leave the parentheses empty except for commas for the appropriate number of dimensions, and supply the element values inside the braces ({}). The following example declares, creates, and initializes a variable to hold a two-dimensional array with elements of the Single Data Type (Visual Basic), specifying only the element values. Note the two levels of braces in the New clause.
Dim diagonal(,) As Single = New Single(,) {{1, 0}, {0, 1}}
Following the execution of this statement, the array in variable diagonal holds four initialized elements.
See Also
Tasks
How to: Declare an Array Variable
How to: Create an Array with More Than One Dimension
How to: Initialize an Array Variable
How to: Initialize a Jagged Array
Concepts
Multidimensional Arrays in Visual Basic