Como: Criar uma matriz com tipos mistos de elemento
Você declara apenas um tipo de dados para uma matriz, e todos os seus elementos devem ser desse tipo de dados.Normalmente, essa limitação é desejável, dado que todos os elementos estão intimamente relacionados uns com os outros e têm tipos semelhantes de valores.No entanto, às vezes os elementos não são relacionados intimamente ou não têm valores semelhantes.Nesse caso, você pode declarar os elementos da matriz para ser do Tipo de dados Object, e os elementos individuais podem apontar para diferentes tipos de dados, como números, caracteres, sequências de caracteres, objetos e outras matrizes.
Para criar uma matriz com elementos de diferentes tipos de dados
Declare a matriz como Object.O seguinte exemplo declara uma variável para manter uma matriz de elementos Object, cria a matriz e a atribui para a variável.
Dim mixedTypes As Object() = New Object() {}
Quando você usar o tipo de dados Object, tenha em mente que o desempenho não é tão eficiente como quando você usa um tipo de dados mais específico.Isso acontece porque o tempo de execução tem que converter os dados de seu tipo de dados natural para Object, usando operações chamadas boxing e unboxing .Esse processamento adicional pode danificar o desempenho se você fizê-lo com frequência.
Para acessar os elementos de tipos de dados diferentes em uma matriz
Leia ou grave os elementos da forma normal.Você pode armazenar e recuperar um elemento de qualquer tipo de dados em uma matriz Object.
O exemplo a seguir demonstra informações de alocação de tipos de dados diferentes em uma matriz Object.Ela armazena informações do funcionário na matriz na variável employeeData.
Dim employeeData(3) As Object employeeData(0) = "Alex Hankin" employeeData(1) = "4242 Maple Street" employeeData(2) = 48 employeeData(3) = #8/23/1956#
Para recuperar informações de diferentes tipos de dados de uma matriz Object, você pode converter um elemento para o tipo de dados apropriado, como o exemplo a seguir ilustra.
Dim age As Integer = CInt(employeeData(2)) Dim birthDate as Date = CDate(employeeData(3))
Em uma situação em que os elementos não são semelhantes ou relacionados uns aos outros não, outra possibilidade é colocá-los em uma coleção em vez de uma matriz Object.Para obter mais informações, consulte Coleções sistema autônomo uma alternativa a matrizes.
Consulte também
Tarefas
Como: Declare uma variável de matriz
Como: Criar uma matriz com mais de uma dimensão
Como: Criar uma matriz de matrizes
Como: Criar uma matriz com sem elementos
Como: Inicializar uma variável de matriz
Solucionando problemas de arrays
Conceitos
Visão geral dos arrays in Visual Basic
Coleções sistema autônomo uma alternativa a matrizes