Compartilhar via


Como: Altere o dimensionar de um array

Você redimensiona uma variável de matriz atribuindo um novo objeto matriz a ela.Você pode usar um padrão de instrução de atribuição ou a ReDim demonstrativo (Visual Basic).Em ambos os casos, a matriz original é substituída por uma totalmente nova e a matriz variável aponta para a nova matriz.

Redimensionar uma matriz ajuda você a gerenciar a memória de forma eficiente.Por exemplo, você pode começar com uma matriz pequena e aumentar seu tamanho, em seguida, se você precisar de mais elementos.Como alternativa, você pode começar com uma matriz grande e reduzir seu tamanho em seguida, quando você não for mais necessário todos eles.Essa técnica ocupa a memória adicional somente quando precisar.

Para redimensionar uma variável de matriz usando um de padrão instrução de atribuição

  1. Cria o novo objeto de matriz, especificando os novos tamanhos da dimensão.

  2. Atribua o novo objeto de matriz à variável de matriz.

    Dim thisArrayVariable() As Integer = New Integer(99) {}
    thisArrayVariable = New Integer(49) {}
    

Para redimensionar uma variável de matriz usando a instrução ReDim

  • Especifica os novos tamanhos de dimensão para a variável de matriz na instrução ReDim.

    Dim thisArrayVariable() As Integer = New Integer(99) {}
    ReDim thisArrayVariable(9)
    

Quando você ReDim uma matriz, os valores existentes de seus elementos são normalmente perdidos.No entanto, você pode mantê-los, incluindo a palavra-chave Preserve na instrução ReDim .

Para redimensionar uma variável de matriz preservando valores de elementos existentes

  1. Especifica os novos tamanhos de dimensão para a variável de matriz na instrução ReDim.

  2. Adicione a palavra-chave Preserve à declaração ReDim.O exemplo a seguir cria uma nova matriz, inicializa seus elementos dos elementos correspondentes da matriz existente no arrayToIncrease e atribui a nova matriz à variável de matriz arrayToIncrease.

    Dim arrayToIncrease(9, 49)
    ReDim Preserve arrayToIncrease(9, 199)
    

Se você usar Preserve em um matriz multidimensional, você pode alterar apenas o tamanho da última dimensão.Se você tentar alterar qualquer uma das outras dimensões, uma exceção ArrayTypeMismatchException ocorre.

Se você redimensionar uma matriz grande usando a palavra-chave Preserve, tenha em mente que o Visual Basic deve copiar todos os elementos existentes para a nova matriz.Isso pode tornar o desempenho mais lento.

Consulte também

Tarefas

Como: Declare uma variável de matriz

Como: Criar uma matriz

Como: Inicializar uma variável de matriz

Como: Determinar o dimensionar de um array

Como: Determinar o comprimento de uma dimensão de um array

Como: Atribuir um array para outro array

Como: Alterar uma matriz em uma matriz diferente

Solucionando problemas de arrays

Conceitos

dimensionar da matriz no Visual Basic

Outros recursos

Matrizes no Visual Basic