Compartir a través de


Caracteres especiales en código (Visual Basic)

A veces, tiene que usar caracteres especiales en el código, es decir, caracteres que no son alfabéticos o numéricos. La puntuación y los caracteres especiales del juego de caracteres de Visual Basic tienen varios usos, desde la organización del texto del programa para definir las tareas que realiza el compilador o el programa compilado. No especifican una operación que se va a realizar.

Paréntesis

Use paréntesis al definir un procedimiento, como o SubFunction. Debe incluir todas las listas de argumentos de 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 precedencia del operador 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 precedencia predeterminada de / sobre + y es equivalente a d = b + (c / a). Los paréntesis del cálculo para e alteran la precedencia predeterminada.

Separadores

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

a = 3.2 : b = 7.6 : c = 2

Para obtener más información, vea Cómo: Interrumpir y combinar instrucciones en 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 Cómo: Instrucciones de etiqueta.

Concatenación

Use el & operador para concatenación o unir cadenas. No lo confunda con el + operador , que agrega valores numéricos. Si usa el + operador para concatenar cuando opera en 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 punto (.) o signo de exclamación (!) entre el nombre de 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 (!)

Utilice el ! operador solo en una clase o interfaz como operador de acceso de diccionario. La clase o interfaz debe tener una propiedad predeterminada que acepte un único String argumento. El identificador inmediatamente después del ! operador se convierte en el valor de 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 todos muestran el valor 32856. La primera línea usa el acceso tradicional a la propiedad index, el segundo hace uso del hecho de que index es la propiedad predeterminada de la clase hasDefaulty la tercera usa el acceso de diccionario a la clase .

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

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

Nota:

Las referencias a 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