Como: Inicializar uma matriz irregular

Quando você inicializa uma variável de matriz denteada, você pode especificar os comprimentos de dimensão apenas para a matriz de nível superior.Há várias maneiras pelas quais você pode fazer isso:

Ao inicializar uma variável de matriz denteada.

  • Na declaração de variável de matriz, especifique o limite superior do índice de nível superior dentro do primeiro par de parênteses, separado por vírgulas.O exemplo a seguir declara e cria uma variável para conter uma matriz denteada de elementos Byte, especificando somente o limite superior do nível superior.

    Dim rainfall(11)() As Byte
    

    Após a execução desta instrução, a matriz na variável rainfall contém 12 elementos, cada um dos quais é uma matriz vazia de elementos Byte.

    - ou -

  • Na cláusula New, especifque o limite superior do índice do nível superior dentro do primeiro para de parênteses, e forneça chaves vazias ({}).O exemplo a seguir declara e cria uma variável para conter uma matriz denteada de elementos Short, especificando somente o limite superior do nível superior.

    Dim snowfall()() As Short = New Short(11)() {}
    

    Após a execução desta instrução, a matriz na variável snowfall contém 12 elementos, cada um dos quais é uma matriz vazia de elementos Short.

    Observação:

    Você pode inicializar o limite superior do índice de nível superior em um só lugar.Se você especificar um limite superior nos parênteses após o nome da variável de matriz, você não poderá usar um New cláusula. Se você especificar o limite superior nos parênteses na cláusula New, você deve deixar os parênteses após o nome da variável vazios.

    - ou -

  • Na cláusula New, especifque o limite superior do índice de nível superior dentro dos parênteses, e forneça os valores dos elementos dentro de chaves ({}).O exemplo a seguir declara, cria e inicializa uma variável para armazenar uma matriz denteada de elementos Char, especificando o limite superior do nível superioir e os valores.Observe as cláusulas New aninhadas para inicializar as matrizes de nível inferior.

    Dim decodeValues()() As Char = New Char(1)() {New Char() {"a"c, "b"c}, New Char() {"p"c, "q"c}}
    

    Após a execução desta instrução, a matriz na variável decodeValues contém dois elementos, cada um dos quais é uma matriz de Char de comprimento 1 com o elemento no índice 0 contendo um valor inicializado.Se você fornecer tanto o limite superior de nível superior quanto os valores, você deve incluir um valor para cada elemento de nível superior do índice 0 por meio do limite superior.

    - ou -

  • Na cláusula New, omita os parênteses de nível superior e forneça os valores dos elementos dentro de chaves ({}) .O exemplo a seguir declara, cria e inicializa uma variável para conter uma matriz denteada de elementos Byte, especificando somente as valores dos elementos.Observe os dois níveis de chaves na cláusula New.

    Dim firstValues()() As Byte = {New Byte() {2, 1}, New Byte() {3, 0}}
    

    Após a execução desta instrução, a matriz na variável firstValues tem comprimento 2, com elementos firstValues(0) e firstValues(1).Cada um dos elementos é inicializado para uma matriz de dois elementos Byte, o primeiro elemento com valores 2 e 1 e o segundo elemento com valores 3 e 0.

Consulte também

Tarefas

Como: Declare uma variável de matriz

Como: Criar uma matriz de matrizes

Como: Inicializar uma variável de matriz

Como: Inicializar uma matriz multidimensional

Solucionando problemas de arrays

Conceitos

Matrizes Denteadas no Visual Basic

Escrevendo código compatível com CLS

Referência

Novo (Visual Basic)

Outros recursos

Matrizes no Visual Basic