Los tipos de datos son tipos de .NET Framework

Actualización: noviembre 2007

Las estructuras y clases del espacio de nombres System admiten los tipos de datos básicos de Visual Basic. El compilador utiliza la palabra clave de cada tipo de datos como alias para la clase o estructura subyacente. Por ejemplo, declarar una variable con la palabra reservada Byte es igual que declararla con el nombre completo de estructura System.Byte.

Hay clases y estructuras adicionales disponibles en .NET Framework.

Common Language Runtime (CLR) también admite estructuras y clases que Visual Basic no proporciona. Por ejemplo, la estructura System.Guid proporciona un identificador único global (GUID) y la clase System.TimeZone admite una zona horaria. Puede utilizar estos tipos para declarar variables y constantes y puede tener acceso a los métodos que .NET Framework implementa en estos tipos. Sin embargo, Visual Basic no admite operaciones o conversiones de tipo que impliquen a tipos que no proporciona la aplicación.

Tipos de valores y tipos de referencia

En .NET Framework, una estructura es un tipo de valor y una clase es un tipo de referencia. Por ello, las estructuras de .NET Framework implementan tipos de valor como Char e Integer, mientras que las clases de .NET Framework admiten tipos de referencia como Object y String. Observe que una matriz es un tipo de referencia, incluso cuando sus miembros son tipos de valor, y una estructura es un tipo de valor, incluso aunque tenga miembros de tipos de referencia.

Como un tipo de referencia representa una clase subyacente de .NET Framework, es preciso usar la palabra clave New (Visual Basic) al inicializarlo. La instrucción siguiente inicializa una matriz.

Dim totals() As Single = New Single(8) {}

También puede utilizar la palabra clave New para inicializar un tipo de valor. Esto es especialmente útil si el tipo tiene un constructor que toma parámetros. Un ejemplo de esto es el constructor Decimal(Int32, Int32, Int32, Boolean, Byte) que genera un nuevo valor Decimal de las partes proporcionadas.

Los tipos de datos tienen Miembros

Como los tipos de datos de Visual Basic tienen miembros, los admiten las estructuras y clases de .NET Framework. Estos miembros incluyen constructores, métodos, propiedades y campos. Puede obtener acceso a los miembros (excepto los constructores) de una variable del mismo modo que a los métodos y propiedades de un objeto.

El ejemplo siguiente utiliza las propiedades Year, Month y Day, y el método DaysInMonth de la estructura System.DateTime para determinar cuántos días quedan en el mes actual.

Dim current As Date = Now
Dim daysRemaining As Integer
daysRemaining = Date.DaysInMonth(current.Year, current.Month) - current.Day

Conviene señalar que se debe calificar una referencia a un miembro de tipo de datos, bien con el nombre del tipo (Date) o bien con el nombre de una variable declarada de dicho tipo (current).

Ejemplos de miembros de tipos de datos

Los siguientes prototipos de código ilustran algunos métodos, propiedades y campos útiles con los tipos de datos.

<Char>.IsDigit() ' Returns True if character is a numeric digit.

<Char>.IsLower() ' Returns True if character is a lowercase letter.

<Date>.IsLeapYear() ' Returns True if current year is a leap year.

<Date>.ToUniversalTime() ' Returns local date/time converted to UTC.

<Double>.IsInfinity() ' Returns True if contents represent infinity.

<Double>.IsNaN() ' Returns True if contents are not a number (0/0).

<Long>.MaxValue ' Constant representing largest positive Int64 value.

<Object>.GetType() ' Returns Type object representing type of <Object>.

<Object>.GetType().GetTypeCode() ' Returns type code of <Object>.

<String>.Chars(<index>) ' Character at position <index> of <String>.

<String>.Length ' Number of characters currently in <String>.

Todos los tipos numéricos, incluidos Byte y Char, exponen los campos públicos MaxValue y MinValue que pueden ser muy útiles al trabajar con estos tipos.

La equivalencia de miembros de tipos de datos no está asegurada

.NET Framework proporciona también varios métodos para los tipos de datos que podrían resultar equivalentes a funciones y palabras clave de Visual Basic. Sin embargo, Visual Basic no siempre utiliza los métodos de .NET Framework para realizar la conversión u otras operaciones y los resultados no siempre son idénticos.

Por ejemplo, el método ToSingle realiza el mismo tipo de acción que hace la palabra clave CSng en una expresión Decimal. Pero no se garantiza que CSng utilice System.tipoDeDatos.ToSingle y, por consiguiente, no se garantiza que los resultados sean los mismos en condiciones marginales o límite.

En general, debe utilizar los elementos de programación de Visual Basic porque son más sencillos de usar y facilitan la lectura del código. En algunos casos, podría ser necesario que un método .NET Framework aporte funcionalidad adicional. Para obtener un ejemplo, vea "Operador Mod no devuelve un resultado preciso" en Solucionar problemas de tipos de datos.

Vea también

Conceptos

Tipos de valores y tipos de referencia

Estructuras y clases

Referencia

Boolean

Byte

Char

DateTime

Decimal

Double

Guid

TimeZone