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
Cria o novo objeto de matriz, especificando os novos tamanhos da dimensão.
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
Especifica os novos tamanhos de dimensão para a variável de matriz na instrução ReDim.
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: 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