Tipos de datos compuestos

Actualización: noviembre 2007

Además de los tipos de datos básicos que proporciona Visual Basic, también es posible juntar elementos de distintos tipos para crear tipos de datos compuestos, como estructuras, matrices y clases. Pueden crearse tipos de datos compuestos a partir de tipos elementales y de otros tipos compuestos. Por ejemplo, puede definir una matriz de elementos de estructura, o una estructura con miembros de matriz.

Tipos de datos

Un tipo compuesto es diferente del tipo de datos de cualquiera de sus componentes. Por ejemplo, una matriz de elementos Integer no es del tipo de datos Integer.

Un tipo de datos de matriz se representa normalmente mediante el tipo de elemento, paréntesis y comas, tal como necesario. Por ejemplo, una matriz unidimensional de los elementos String se representa como String() y una matriz bidimensional de los elementos Boolean se representa como Boolean(,).

Tipos de estructura

No existe ningún tipo de datos que incluya todas las estructuras. En su lugar, una definición de una estructura representa un tipo de datos único, aunque dos estructuras definan elementos idénticos en el mismo orden. Sin embargo, si crea dos o más instancias de la misma estructura, Visual Basic considera que son del mismo tipo de datos.

Tipos de matriz

No existe ningún tipo de datos que incluya todas las matrices. El tipo de datos de una instancia específica de una matriz está determinada por lo siguiente:

  • El hecho de ser una matriz

  • El rango (las dimensiones) de la matriz

  • El tipo de elemento de la matriz

En particular, la longitud de una dimensión determinada no forma parte del tipo de datos de la instancia. Esto se ilustra en el siguiente ejemplo:

Dim arrayA( ) As Byte = New Byte(12) {}
Dim arrayB( ) As Byte = New Byte(100) {}
Dim arrayC( ) As Short = New Short(100) {}
Dim arrayD( , ) As Short
Dim arrayE( , ) As Short = New Short(4, 10) {}

En el ejemplo anterior, las variables de matriz arrayA y arrayB se consideran del mismo tipo de datos (Byte()), aunque se hayan inicializado con distintas longitudes. Las variables arrayB y arrayC no son del mismo tipo porque sus tipos de elementos son diferentes. Las variables arrayC y arrayD no son del mismo tipo porque sus rangos son diferentes. Las variables arrayD y arrayE tienen el mismo tipo (Short(,)) porque sus rangos y tipos de elementos son los mismos, incluso aunque arrayD no esté aún inicializado.

Para obtener más información sobre matrices, consulte Matrices en Visual Basic.

Tipos de clase

No existe ningún tipo de datos que incluya todas las clases. Aunque una clase puede heredar de otra clase, cada una es de un tipo de datos distinto. Varias instancias de la misma clase son del mismo tipo de datos. Si asigna una variable de instancia de clase a otra, no sólo tienen el mismo tipo de datos, sino que señalan a la misma instancia de clase en memoria.

Para obtener más información sobre clases, consulte Descripción de las clases.

Vea también

Tareas

Solucionar problemas de tipos de datos

Cómo: Contener más de un valor en una variable

Conceptos

Tipos de datos en Visual Basic

Tipos genéricos en Visual Basic

Programación sin tipos en Visual Basic

Los tipos de datos son tipos de .NET Framework

Otros recursos

Tipos de datos elementales

Implementación de tipos de datos

Conversiones de tipos en Visual Basic

Estructuras: tipos de datos propios