Compartir a través de


Cómo: Crear una matriz con tipos de elementos mixtos

Actualización: noviembre 2007

Declara sólo un tipo de datos para una matriz y todos sus elementos deben ser de ese tipo de datos. Normalmente, es preferible esta limitación, ya que todos los elementos se relacionan estrechamente entre sí y tienen tipos de valores similares. Sin embargo, a veces los elementos no están estrechamente relacionados o no tienen valores similares. En este caso, puede declarar los elementos de la matriz para que sean Object (Tipo de datos) y los elementos individuales pueden señalar a tipos de datos diferentes, como números, caracteres, cadenas, objetos y otras matrices.

Para crear una matriz con elementos de tipos de datos diferentes

  • Declare la matriz como Object. El ejemplo siguiente declara una variable para que contenga una matriz de elementos de Object, crea la matriz y la asigna a la variable.

    Dim mixedTypes As Object() = New Object() {}
    

    Cuando utiliza el tipo de datos Object, tenga presente que el rendimiento no es tan eficaz como cuando utiliza un tipo de datos más concreto. Esto se debe a que el tiempo de ejecución tiene que convertir los datos entre su tipo de datos natural y Object, utilizando operaciones llamadas conversión boxing y conversión unboxing. Este procesamiento adicional puede afectar negativamente al rendimiento si lo hace a menudo.

Para tener acceso a los elementos de tipos de datos diferentes de una matriz

  • Lea o escriba los elementos de la manera normal. Puede almacenar y recuperar un elemento de cualquier tipo de datos en una matriz Object.

    El ejemplo siguiente muestra cómo colocar información de tipos de datos diferentes en una matriz Object. Almacena información de empleado en la matriz de una variable 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 información de tipos de datos diferentes de una matriz Object, puede convertir un elemento en el tipo de datos adecuado, como se muestra en el ejemplo siguiente.

    Dim age As Integer = CInt(employeeData(2))
    Dim birthDate as Date = CDate(employeeData(3))
    

En una situación en la que los elementos no son similares o no están relacionados entre sí, existe la posibilidad de colocarlos en una colección en lugar de una matriz Object. Para obtener más información, consulte Colecciones como alternativa a las matrices.

Vea también

Tareas

Cómo: Declarar una variable de matriz

Cómo: Crear una matriz

Cómo: Crear una matriz con varias dimensiones

Cómo: Crear una matriz de matrices

Cómo: Crear una matriz sin elementos

Cómo: Inicializar una variable de matriz

Solucionar problemas de matrices

Conceptos

Información general sobre matrices en Visual Basic

Colecciones como alternativa a las matrices

Otros recursos

Matrices en Visual Basic