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.