Share via


Como: Atribuir um array para outro array

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 elementos Ou ambas as matrizes devem ter elementos de tipo de referência ou ambas as matrizes devem ter elementos de tipo de valor .Para obter mais informações, consulte Tipos de valores e tipos de referências.

    • 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 TryCast se você quiser evitar lançar uma exceção.

Consulte também

Tarefas

Como: Declare uma variável de matriz

Como: Criar uma matriz

Como: Inicializar uma variável de matriz

Como: Altere o dimensionar de um array

Como: Alterar uma matriz em uma matriz diferente

Como: Passar uma matriz para um procedimento ou propriedade

Como: Retornar uma matriz de um procedimento ou propriedade

Solucionando problemas de arrays

Conceitos

Conversões de array

Referência

Declaração Enum (Visual Basic)

Outros recursos

Matrizes no Visual Basic