Partilhar via


Como: Inicializar variáveis de matriz no Visual Basic

Você pode usar um literal de matriz para preencher uma matriz com valores iniciais quando ele é criado. Você pode incluir o literal de matriz como parte do New cláusula e especificar explicitamente o tipo. Se você não especificar um tipo de elementos de matriz, o tipo é inferido dos valores na matriz literal. Para obter detalhes sobre como o tipo é inferido, consulte "Preencher uma matriz com valores iniciais" in Matrizes no Visual Basic.

Para inicializar uma variável de matriz, usando um literal de matriz

  • No New cláusula, ou quando você atribui o valor de matriz, fornecer os valores de elemento entre chaves ({}). O exemplo a seguir mostra várias maneiras de declarar, criare inicializar uma variável para conter uma matriz de elementos do tipo Char.

    ' The following three lines of code create the same array.
    Dim chars1() As Char = New Char(2) {"%"c, "&"c, "@"c}
    Dim chars2 = {"%"c, "&"c, "@"c}
    Dim chars3() As Char = {"%"c, "&"c, "@"c}
    

    Após a execução das afirmações a seguir, a matriz criada tem tamanho 3, com elementos de índice 0 através de índice 2 que contém os valores iniciais. If you supply both the upper bound and the values, you must include a value for every element from index 0 through the upper bound.

    Observe que você não precisará especificar o índice superior limite se você fornecer valores de elemento em um literal de matriz. Se nenhum superior limite for especificado, o tamanho da matriz é inferido com base no número de valores na matriz literal.

Para inicializar uma variável de matriz multidimensional usando literais de matriz

  • Aninhar valores entre chaves ({}) dentro das chaves. Certifique-se de que os literais de matriz aninhada que todos inferir como matrizes do mesmo tipo e comprimento. O exemplo de código a seguir mostra vários exemplos de matriz multidimensional de inicialização.

    Dim ticTacToe = {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}}
    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}}}
    
  • Explicitamente especificar limites de matriz, ou deixá-los e que o compilador a inferir os limites de matriz com base nos valores de literal de matriz. 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. O exemplo a seguir mostra várias maneiras de declarar, criare inicializar uma variável para conter uma matriz dimensional dois da-que possui elementos do tipoShort

    ' The following three lines of code create the same array.
    Dim startingScores1(,) As Short = New Short(1, 2) {{10, 10, 10}, {10, 10, 10}}
    Dim startingScores2 = {{10S, 10S, 10S}, {10S, 10S, 10S}}
    Dim startingScores3(,) As Short = {{10, 10, 10}, {10, 10, 10}}
    

    Após a execução desta demonstrativo, a matriz criada contém seis elementos inicializados que têm índices (0,0), (0,1), (0,2), (1,0), (1,1), e (1,2). Cada local da matriz contém o valor 10.

Para inicializar uma variável de matriz denteada usando literais de matriz

  • Aninhar valores de objeto entre chaves ({}). Embora você também pode aninhar literais de matriz para especificar os arrays de diferentes comprimentos, no caso de uma matriz denteada, certifique-se de que os literais de matriz aninhados são colocados entre parênteses (()). Os parênteses obrigam a avaliação dos literais de matriz aninhada e os conjuntos resultantes são usados como os valores iniciais da matriz irregular. O exemplo de código a seguir mostra dois exemplos de matriz denteada de inicialização.

    ' Create a jagged array of arrays that have different lengths.
    Dim diagonal = {({0, 0, 0}), ({0, 0}), ({0})}
    
    ' Create a jagged array of Byte arrays.
    Dim images = {New Byte() {}, New Byte() {}, New Byte() {}}
    

Consulte também

Tarefas

Solucionando problemas de matrizes (Visual Basic)

Conceitos

Matrizes no Visual Basic