Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Hay dos tipos de tipos en Visual Basic: tipos de referencia y tipos de valor. Las variables de tipos de referencia almacenan referencias a sus datos (objetos), mientras que las variables de tipos de valor contienen directamente sus datos. Con los tipos de referencia, dos variables pueden hacer referencia al mismo objeto y, por lo tanto, las operaciones en una variable pueden afectar al objeto al que hace referencia la otra variable. Con los tipos de valor, cada variable tiene su propia copia de los datos y no es posible que las operaciones de una variable afecten a la otra (excepto en el caso del modificador ByRef en los parámetros).
Tipos de valor
Un tipo de datos es un tipo de valor si contiene los datos dentro de su propia asignación de memoria. Los tipos de valor incluyen lo siguiente:
Todos los tipos de datos numéricos
Boolean
,Char
yDate
Todas las estructuras, incluso si sus miembros son tipos de referencia
Enumeraciones, ya que su tipo subyacente es siempre
SByte
, ,Short
Integer
Long
Byte
,UShort
, oUInteger
ULong
Cada estructura es un tipo de valor, incluso si contiene miembros de tipo de referencia. Por este motivo, las estructuras de .NET Framework implementan tipos de valor como Char
y Integer
.
Puede declarar un tipo de valor mediante la palabra clave reserved, por ejemplo, Decimal
. También puede usar la New
palabra clave para inicializar un tipo de valor. Esto resulta especialmente útil si el tipo tiene un constructor que toma parámetros. Un ejemplo de esto es el Decimal(Int32, Int32, Int32, Boolean, Byte) constructor, que crea un nuevo Decimal
valor a partir de los elementos proporcionados.
Tipos de referencia
Un tipo de referencia almacena una referencia a sus datos. Los tipos de referencia incluyen lo siguiente:
String
Todas las matrices, incluso si sus elementos son tipos de valor
Tipos de clase, como Form
Delegados
Una clase es un tipo de referencia. Tenga en cuenta que cada matriz es un tipo de referencia, incluso si sus miembros son tipos de valor.
Dado que cada tipo de referencia representa una clase de .NET Framework subyacente, debe usar la palabra clave New Operator al inicializarlo. La siguiente instrucción inicializa una matriz.
Dim totals() As Single = New Single(8) {}
Elementos que no son tipos
Los siguientes elementos de programación no califican como tipos, ya que no se puede especificar ninguno de ellos como un tipo de datos para un elemento declarado:
Espacios de nombres
Módulos
Eventos
Propiedades y procedimientos
Variables, constantes y campos
Trabajar con el tipo de datos de objeto
Puede asignar un tipo de referencia o un tipo de valor a una variable del Object
tipo de datos. Una Object
variable siempre contiene una referencia a los datos, nunca los datos en sí. Sin embargo, si asigna un tipo de valor a una Object
variable, se comporta como si contiene sus propios datos. Para obtener más información, vea Tipo de datos de objeto.
Para averiguar si una Object
variable actúa como un tipo de referencia o un tipo de valor, puede pasarla al método IsReference en la clase Information del espacio de nombres Microsoft.VisualBasic.
Information.IsReference devuelve True
si el contenido de la Object
variable representa un tipo de referencia.