Compartir a través de


Tipos de datos compuestos (Visual Basic)

Además de los tipos de datos elementales que proporciona Visual Basic, también puede ensamblar elementos de diferentes tipos para crear tipos de datos compuestos , como estructuras, matrices y clases. Puede crear 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 Integer elementos no es del Integer tipo de datos.

Normalmente, un tipo de datos de matriz se representa mediante el tipo de elemento, paréntesis y comas según sea necesario. Por ejemplo, una matriz unidimensional de String elementos se representa como String()y una matriz bidimensional de Boolean elementos se representa como Boolean(,).

Tipos de estructura

No hay ningún tipo de datos que contenga todas las estructuras. En su lugar, cada definición de una estructura representa un tipo de datos único, incluso si dos estructuras definen 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.

Tuplas

Una tupla es una estructura ligera que contiene dos o más campos cuyos tipos están predefinidos. Las tuplas se admiten a partir de Visual Basic 2017. Las tuplas se usan normalmente para devolver varios valores desde una sola llamada de método sin tener que pasar argumentos por referencia o empaquetar los campos devueltos en una estructura o clase más pesada. Consulte el tema Tuplas para obtener más información sobre las tuplas.

Tipos de matriz

No hay ningún tipo de datos único que contenga todas las matrices. El tipo de datos de una instancia determinada de una matriz viene determinado por lo siguiente:

  • El hecho de ser una matriz

  • Rango (número de dimensiones) de la matriz

  • Tipo de elemento de la matriz

En concreto, la longitud de una dimensión determinada no forma parte del tipo de datos de la instancia. En el ejemplo siguiente se muestra esto.

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 arrayA de matriz y arrayB se consideran del mismo tipo de datos, Byte() aunque se inicialicen en longitudes diferentes. Las variables arrayB y arrayC no son del mismo tipo porque sus tipos de elemento son diferentes. Las variables arrayC y arrayD no son del mismo tipo porque sus clasificaciones son diferentes. Las variables arrayD y arrayE tienen el mismo tipo : Short(,) porque sus tipos de elementos y clasificaciones son los mismos, aunque arrayD aún no se haya inicializado.

Para obtener más información sobre las matrices, vea Matrices.

Tipos de clase

No hay ningún tipo de datos que contenga todas las clases. Aunque una clase puede heredar de otra clase, cada una es un tipo de datos independiente. Varias instancias de la misma clase son del mismo tipo de datos. Si asigna una variable de instancia de clase a otra, no solo tienen el mismo tipo de datos, apuntan a la misma instancia de clase en memoria.

Para obtener más información sobre las clases, vea Objetos y clases.

Consulte también