Declaración de variable en Visual Basic

Una variable se declara para especificar su nombre y sus características. La instrucción de declaración de las variables es la instrucción Dim. Su ubicación y contenido determinan las características de la variable.

Para conocer las reglas de nomenclatura y las consideraciones de las variables, vea Nombres de elementos declarados.

Niveles de declaración

Variables locales y miembro

Una variable local es aquella que se declara dentro de un procedimiento. Una variable miembro es un miembro de un tipo de Visual Basic; se declara en el nivel de módulo, dentro de una clase, estructura o módulo, pero no dentro de ningún procedimiento interno de esa clase, estructura o módulo.

Variables compartidas y de instancia

En una clase o estructura, la categoría de una variable miembro depende de si es o no compartida. Si se declara con la palabra clave Shared, es una variable compartida y existe en una sola copia compartida entre todas las instancias de la clase o estructura.

De lo contrario, es una variable de instancia y se crea una copia independiente para cada instancia de la clase o estructura. Una copia determinada de una variable de instancia solo está disponible para la instancia de la clase o estructura en la que se ha creado. Es independiente de una copia de la variable de instancia en cualquier otra instancia de la clase o estructura.

Declaración del tipo de datos

La cláusula As de la instrucción de declaración permite definir el tipo de datos o el tipo de objeto de la variable que se declara. Puede especificar cualquiera de los siguientes tipos para una variable:

  • Un tipo de datos básico, como Boolean, Long o Decimal

  • Un tipo de datos compuesto, como una matriz o estructura

  • Tipo de objeto, o clase, definido en la aplicación o en otra aplicación

  • Una clase de .NET Framework, como Label o TextBox

  • Un tipo de interfaz, como IComparable o IDisposable

Puede declarar varias variables en una instrucción sin tener que repetir el tipo de datos. En las instrucciones siguientes, las variables i, j y k se declaran como tipo Integer, l y m como Long, y x y y como Single:

Dim i, j, k As Integer  
' All three variables in the preceding statement are declared as Integer.  
Dim l, m As Long, x, y As Single  
' In the preceding statement, l and m are Long, x and y are Single.  

Para obtener más información sobre los tipos de datos, vea Tipos de datos. Para obtener más información sobre los objetos, vea Objetos y clases y Programación con componentes.

Inferencia de tipo de variable local

La inferencia de tipos se usa para determinar los tipos de datos de las variables locales declaradas sin una cláusula As. El compilador deduce el tipo de la variable a partir del tipo de la expresión de inicialización. Esto permite declarar variables sin especificar explícitamente un tipo. En el siguiente ejemplo, tanto num1 como num2 están fuertemente tipados como enteros.

Public Sub inferenceExample()

    ' Using explicit typing.
    Dim num1 As Integer = 3

    ' Using local type inference.
    Dim num2 = 3

End Sub

Si quiere usar la inferencia de tipo de variable local, Option Infer debe establecerse en On. Para obtener más información, vea Local Type Inference (Inferencia de tipo de variable local) y Option Infer Statement (Instrucción Option Infer).

Características de las variables declaradas

La vigencia de una variable es el período de tiempo durante el cual está disponible para su uso. En general, una variable existe mientras que el elemento que la declara (por ejemplo, un procedimiento o una clase) siga existiendo. Si la variable no necesita seguir existiendo más allá de la vigencia de su elemento contenedor, no es necesario hacer nada especial en la declaración. Si la variable necesita seguir existiendo más tiempo que su elemento contenedor, puede incluir la palabra clave Static o Shared en su instrucción Dim. Para obtener más información, vea Período de duración en Visual Basic.

El ámbito de una variable es el conjunto de todo el código que puede hacer referencia a ella sin calificar su nombre. El ámbito de una variable viene determinado por dónde se ha declarado. El código ubicado en una región determinada puede usar las variables definidas en esa región sin tener que calificar sus nombres. Para obtener más información, consulta Scope in Visual Basic.

El nivel de acceso de una variable es la extensión de código que tiene permiso para acceder a ella. Viene determinado por el modificador de acceso (como Public o Private) que se usa en la instrucción Dim. Para obtener más información, vea Niveles de acceso en Visual Basic.

Consulte también