Compartilhar via


Como: atribuir um Array para outro Array (Visual Basic)

Como matrizes são objetos, você pode usá-las em instruções de atribuição como outros tipos de objeto.Uma variável de matriz contém um ponteiro para os dados que constituem os elementos da matriz e as informações de posição e comprimento, e uma atribuição copia somente esse ponteiro.

Para atribuir uma matriz a outra matriz

  1. Garanta que as duas matrizes têm a mesma ordem (número de dimensões) e tipos de dados de elemento compatíveis.

  2. Use uma instrução de atribuição padrão para atribuir a matriz de origem para a matriz de destino.Não coloque parênteses após o nome da matriz.

    Dim formArray() As System.Windows.Forms.Form
    Dim controlArray() As System.Windows.Forms.Control
    controlArray = formArray
    

Quando você atribui uma matriz à outra, as seguintes regras se aplicam:

  • Ordens iguais. A ordem (número de dimensões) da matriz de destino deve ser a mesmo da matriz de origem.

    Contanto que as ordens das duas matrizes sejam iguais, as dimensões não precisam ser iguais.O número de elementos em uma determinada dimensão pode mudar durante a atribuição.

  • Tipos de elemento. Tanto as duas matrizes devem ter tipo de referência elementos ou as duas matrizes devem ter tipo de valor elementos.Para obter mais informações, consulte Tipos de valor e referência.

    • Se as duas matrizes têm elementos de tipo de valor, os tipos de dados dos elementos devem ser exatamente os mesmos.A única exceção a isso é que você pode atribuir uma matriz de elementos Enum a uma matriz de tipo base de Enum.

    • Se as duas matrizes têm elementos de tipo de referência, o tipo de elemento de origem deve derivar do tipo de elemento de destino.Quando esse for o caso, as duas matrizes têm a mesma relação de herança que seus elementos.Isso é chamado covariância de matrizes.

O compilador relata um erro se as regras acima são violadas, por exemplo se os tipos de dados não forem compatíveis ou as ordens forem desiguais.Você pode adicionar manipulação de erro a seu código para verificar se as matrizes são compatíveis antes de tentar uma atribuição.Você também pode usar a palavra-chave Operador de TryCast (Visual Basic) se você quiser evitar lançar uma exceção.

Consulte também

Tarefas

Solucionando problemas de matrizes (Visual Basic)

Referência

Instrução enum (Visual Basic)

Conceitos

Conversões de matriz (Visual Basic)

Outros recursos

Matrizes em Visual Basic