Compartir a través de


Caracteres especiales en código (Visual Basic)

A veces hay que usar caracteres especiales en el código, es decir, caracteres que no son alfabéticos ni numéricos. Los caracteres de puntuación y especiales del juego de caracteres de Visual Basic tienen varios usos, desde organizar el texto del programa hasta definir las tareas que realiza el compilador o el programa compilado. No especifican que se deba realizar una operación.

Paréntesis

Use paréntesis al definir un procedimiento, como Sub o Function. Debe incluir todas las listas de argumentos del procedimiento entre paréntesis. También se usan paréntesis para colocar variables o argumentos en grupos lógicos, especialmente para invalidar el orden predeterminado de prioridad de los operadores en una expresión compleja. Esto se ilustra en el siguiente ejemplo:

Dim a, b, c, d, e As Double
a = 3.2
b = 7.6
c = 2
d = b + c / a
e = (b + c) / a

Después de la ejecución del código anterior, el valor de d es 8,225 y el valor de e es 3. El cálculo de d usa la prioridad predeterminada de / sobre + y es equivalente a d = b + (c / a). Los paréntesis del cálculo de e invalidan la prioridad predeterminada.

Separadores

Los separadores hacen lo que su nombre sugiere: separan secciones de código. En Visual Basic, el carácter separador son los dos puntos (:). Use separadores cuando quiera incluir varias instrucciones en una sola línea en lugar de en líneas independientes. Esto ahorra espacio y mejora la legibilidad del código. En el ejemplo siguiente se muestran tres instrucciones separadas por dos puntos.

a = 3.2 : b = 7.6 : c = 2

Para obtener más información, vea Procedimiento para interrumpir y combinar instrucciones en el código.

El carácter de dos puntos (:) también se usa para identificar una etiqueta de instrucción. Para obtener más información, vea Procedimiento para etiquetar instrucciones.

Concatenación

Use el operador & para la concatenación, o vinculación de cadenas. No lo confunda con el operador +, que agrega valores numéricos. Si usa el operador + para concatenar al operar con valores numéricos, puede obtener resultados incorrectos. En el siguiente ejemplo se muestra cómo hacerlo.

var1 = "10.01"
var2 = 11
resultA = var1 + var2
resultB = var1 & var2

Después de la ejecución del código anterior, el valor de resultA es 21,01 y el valor de resultB es "10,0111".

Operadores de acceso a miembros

Para acceder a un miembro de un tipo, use el operador de punto (.) o signo de exclamación (!) entre el nombre del tipo y el nombre del miembro.

Operador de punto (.)

Use el operador . en una clase, estructura, interfaz o enumeración como operador de acceso a miembros. El miembro puede ser un campo, una propiedad, un evento o un método. Esto se ilustra en el siguiente ejemplo:

Dim nextForm As New System.Windows.Forms.Form
' Access Text member (property) of Form class (on nextForm object).
nextForm.Text = "This is the next form"
' Access Close member (method) on nextForm.
nextForm.Close()

Operador de signo de exclamación (!)

Use el operador ! solo en una clase o interfaz como operador de acceso de diccionarios. La clase o interfaz debe tener una propiedad predeterminada que acepte un único argumento String. El identificador inmediatamente después del operador ! se convierte en el valor del argumento pasado a la propiedad predeterminada como una cadena. En el siguiente ejemplo se muestra cómo hacerlo.

Public Class hasDefault
  Default Public ReadOnly Property index(ByVal s As String) As Integer
    Get
      Return 32768 + AscW(s)
    End Get
  End Property
End Class
Public Class testHasDefault
  Public Sub compareAccess()
    Dim hD As hasDefault = New hasDefault()
    MsgBox("Traditional access returns " & hD.index("X") & vbCrLf & 
      "Default property access returns " & hD("X") & vbCrLf & 
      "Dictionary access returns " & hD!X)
  End Sub
End Class

Las tres líneas de salida de MsgBox muestran el valor 32856. La primera línea usa el acceso tradicional a la propiedad index, la segunda usa el hecho de que index es la propiedad predeterminada de la clase hasDefault, y la tercera usa el acceso a diccionarios a la clase.

Observe que el segundo operando del operador ! debe ser un identificador válido de Visual Basic no incluido entre comillas dobles (" "). Es decir, no se puede usar una variable de cadena o un literal de cadena. El siguiente cambio a la última línea de la llamada MsgBox genera un error porque "X" es un literal de cadena incluido.

"Dictionary access returns " & hD!"X")

Nota

Las referencias a las colecciones predeterminadas deben ser explícitas. En concreto, no se puede usar el operador ! en una variable enlazada tardíamente.

El carácter ! también se usa como carácter de tipo Single.

Consulte también