Caractères spéciaux dans le code (Visual Basic)

Parfois, vous devez utiliser des caractères spéciaux dans votre code, c’est-à-dire des caractères qui ne sont pas alphabétiques ou numériques. La ponctuation et les caractères spéciaux du jeu de caractères Visual Basic ont plusieurs utilisations, qui varient de l’organisation du texte de programme à la définition des tâches effectuées par le compilateur ou le programme compilé. Ils ne spécifient pas d'opération à effectuer.

Parenthèses

Utilisez des parenthèses lorsque vous définissez une procédure, telle que Sub ou Function. Vous devez placer toutes les listes d’arguments de procédure entre parenthèses. Vous utilisez également des parenthèses pour placer des variables ou des arguments dans des groupes logiques, en particulier pour remplacer l’ordre par défaut de priorité de l’opérateur dans une expression complexe. L'exemple suivant illustre ce comportement.

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

Après l’exécution du code précédent, la valeur de d est 8,225 et la valeur de e est 3. Le calcul pour d utilise la priorité par défaut de / sur + et est équivalent à d = b + (c / a). Les parenthèses dans le calcul pour e remplacent la priorité par défaut.

Séparateurs

Les séparateurs font ce que leur nom suggère : ils séparent des sections de code. Dans Visual Basic, le caractère séparateur est le signe deux-points (:). Utilisez des séparateurs lorsque vous souhaitez inclure plusieurs instructions sur une seule ligne au lieu de lignes distinctes. Cela permet d’économiser de l’espace et d’améliorer la lisibilité de votre code. L’exemple suivant montre trois instructions séparées par des symboles deux points.

a = 3.2 : b = 7.6 : c = 2

Pour plus d’informations, consultez Guide pratique : Interrompre et combiner des instructions dans le code.

Le caractère deux-points (:) est également utilisé pour identifier une étiquette d’instruction. Pour plus d’informations, consultez Guide pratique : Étiqueter des instructions.

Concaténation

Utilisez l’opérateur & pour la concaténation ou la liaison de chaînes. Ne le confondez pas avec l’opérateur +, qui ajoute des valeurs numériques. Si vous utilisez l’opérateur + pour concaténer lorsque vous utilisez des valeurs numériques, vous pouvez obtenir des résultats incorrects. l’exemple ci-dessous illustre ce cas de figure.

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

Après l’exécution du code précédent, la valeur de resultA est 21,01 et la valeur de resultB est 10.0111.

Opérateurs d’accès aux membres

Pour accéder à un membre d’un type, vous utilisez l’opérateur point (.) ou point d’exclamation (!) entre le nom de type et le nom du membre.

Opérateur point (.)

Utilisez l’opérateur . sur une classe, une structure, une interface ou une énumération en tant qu’opérateur d’accès membre. Le membre peut être un champ, une propriété, un événement ou une méthode. L'exemple suivant illustre ce comportement.

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()

Opérateur point d'exclamation (!)

Utilisez l’opérateur ! uniquement sur une classe ou une interface comme opérateur d’accès au dictionnaire. La classe ou l’interface doit avoir une propriété par défaut qui accepte un argument unique String. L’identificateur qui suit immédiatement l’opérateur ! devient la valeur d’argument passée à la propriété par défaut sous forme de chaîne. l’exemple ci-dessous illustre ce cas de figure.

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

Les trois lignes de sortie de MsgBox affichent toutes la valeur 32856. La première ligne utilise l’accès traditionnel à la propriété index, la seconde utilise le fait que index est la propriété par défaut de la classe hasDefault, et la troisième utilise l’accès par dictionnaire à la classe .

Notez que le deuxième opérande de l’opérateur ! doit être un identificateur Visual Basic valide non placé entre guillemets doubles (" "). En d’autres termes, vous ne pouvez pas utiliser un littéral de chaîne ou une variable de chaîne. La modification suivante apportée à la dernière ligne de l’appel MsgBox génère une erreur, car "X" est un littéral de chaîne fermé.

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

Notes

Les références aux collections par défaut doivent être explicites. En particulier, vous ne pouvez pas utiliser l’opérateur ! sur une variable à limite tardive.

Le caractère ! est également utilisé comme caractère de type Single.

Voir aussi