Compartir a través de


Caracteres especiales en código

Actualización: noviembre 2007

A veces es necesario usar caracteres especiales en el código, es decir, caracteres que no son alfabéticos o numéricos. Los caracteres de puntuación y especiales del juego de caracteres de Visual Basic tienen varias finalidades, 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

Utilice paréntesis al definir un procedimiento, como Sub o Function. Debe incluir entre paréntesis todas las listas de argumentos de los procedimientos. También se utilizan paréntesis para agrupar las variables o argumentos en grupos lógicos, en particular para reemplazar el orden predeterminado de prioridad de 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

Siguiendo 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 para e reemplazan la prioridad predeterminada.

Separadores

Los separadores hacen lo que su nombre sugiere; separan secciones de código. En Visual Basic, el carácter separador corresponde a los dos puntos (:). Utilice los separadores se desea incluir varias instrucciones en una única línea en lugar de escribirlas 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

Concatenación

Utilice el operador & para concatenar o vincular cadenas entre sí. No lo confunda con el operador +, que suma valores numéricos. Si utiliza el operador + para concatenar cuando está operando con valores numéricos, puede obtener resultados no deseados. En el siguiente ejemplo se muestra cómo.

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

Siguiendo 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 tener acceso a un miembro de un tipo, utilice el operador punto (.) o signo de exclamación (!) entre el nombre del tipo y el nombre del miembro.

Operador punto (.)

Utilice 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 signo de exclamación (!)

Utilice el operador !, sólo en una clase o interfaz, como operador de acceso al diccionario. La clase o interfaz debe tener una propiedad predeterminada que acepte un solo argumento String. El identificador que sigue inmediatamente al operador ! se convierte en el valor del argumento pasado a la propiedad predeterminada como cadena. En el siguiente ejemplo se muestra cómo.

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 resultado de MsgBox muestran el valor 32856. La primera línea utiliza un acceso tradicional a la propiedad index, la segunda aprovecha el hecho de que index es la propiedad predeterminada de la clase hasDefault y la tercera usa el acceso de diccionario a la clase.

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

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

Nota:

Las referencias a colecciones predeterminadas deben ser explícitas. En particular, no es posible utilizar el operador ! en una variable de enlace en tiempo de ejecución.

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

Vea también

Conceptos

Caracteres de tipo

Otros recursos

Convenciones de código y estructura de programas