Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Uma dimensão é uma direção na qual você pode variar a especificação dos elementos de uma matriz. Uma matriz que contém o total de vendas para cada dia do mês tem uma dimensão (o dia do mês). Uma matriz que contém o total de vendas por departamento para cada dia do mês tem duas dimensões (o número do departamento e o dia do mês). O número de dimensões que uma matriz tem é chamado de classificação.
Observação
Você pode usar a Rank propriedade para determinar quantas dimensões uma matriz tem.
Trabalhando com dimensões
Especifique um elemento de uma matriz fornecendo um índice ou subscrito para cada uma de suas dimensões. Os elementos são contíguos ao longo de cada dimensão do índice 0 até o índice mais alto para essa dimensão.
As ilustrações a seguir mostram a estrutura conceitual de matrizes com diferentes classificações. Cada elemento nas ilustrações mostra os valores de índice que o acessam. Por exemplo, você pode acessar o primeiro elemento da segunda linha da matriz bidimensional especificando índices (1, 0)
.
Uma Dimensão
Muitas matrizes têm apenas uma dimensão, como o número de pessoas de cada idade. O único requisito para especificar um elemento é a idade para a qual esse elemento mantém a contagem. Portanto, essa matriz usa apenas um índice. O exemplo a seguir declara uma variável para conter uma matriz unidimensional de contagens etárias de 0 a 120 anos.
Dim ageCounts(120) As UInteger
Duas Dimensões
Algumas matrizes têm duas dimensões, como o número de escritórios em cada andar de cada prédio em um campus. A especificação de um elemento requer o número do edifício e o andar, e cada elemento mantém a contagem para essa combinação de edifício e andar. Portanto, essa matriz usa dois índices. O exemplo a seguir declara uma variável para manter uma matriz bidimensional de contagens de escritórios, para edifícios de 0 a 40 e andares de 0 a 5.
Dim officeCounts(40, 5) As Byte
Uma matriz bidimensional também é chamada de matriz retangular.
Três Dimensões
Algumas matrizes têm três dimensões, como valores no espaço tridimensional. Essa matriz usa três índices, que, nesse caso, representam as coordenadas x, y e z do espaço físico. O exemplo a seguir declara uma variável para manter uma matriz tridimensional de temperaturas do ar em vários pontos em um volume tridimensional.
Dim airTemperatures(99, 99, 24) As Single
Mais de três dimensões
Embora uma matriz possa ter até 32 dimensões, é raro ter mais de três.
Observação
Quando você adiciona dimensões a uma matriz, o armazenamento total necessário pela matriz aumenta consideravelmente, portanto, use matrizes multidimensionais com cuidado.
Usando dimensões diferentes
Suponha que você queira acompanhar os valores de vendas para cada dia do mês presente. Você pode declarar uma matriz unidimensional com 31 elementos, um para cada dia do mês, como mostra o exemplo a seguir.
Dim salesAmounts(30) As Double
Agora suponha que você queira acompanhar as mesmas informações não apenas para cada dia de um mês, mas também para cada mês do ano. Você pode declarar uma matriz bidimensional com 12 linhas (para os meses) e 31 colunas (para os dias), como mostra o exemplo a seguir.
Dim salesAmounts(11, 30) As Double
Agora, suponha que você decida que seu array armazene informações por mais de um ano. Se você quiser acompanhar os valores de vendas por 5 anos, poderá declarar uma matriz tridimensional com 5 camadas, 12 linhas e 31 colunas, como mostra o exemplo a seguir.
Dim salesAmounts(4, 11, 30) As Double
Observe que, como cada índice varia de 0 a seu máximo, cada dimensão salesAmounts
é declarada como uma menor que o comprimento necessário para essa dimensão. Observe também que o tamanho da matriz aumenta a cada nova dimensão. Os três tamanhos nos exemplos anteriores são 31, 372 e 1.860 elementos, respectivamente.
Observação
Você pode criar uma matriz sem usar a Dim
instrução ou a New
cláusula. Por exemplo, você pode chamar o CreateInstance método ou outro componente pode passar ao código uma matriz criada dessa maneira. Essa matriz pode ter um limite inferior diferente de 0. Você sempre pode testar o limite inferior de uma dimensão usando o GetLowerBound método ou a LBound
função.