Compartilhar via


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

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

Outros recursos

Matrizes no Visual Basic