Caractères spéciaux dans le code (Visual Basic)
Vous devez quelquefois utiliser des caractères spéciaux dans votre code, autrement dit, 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
Vous utilisez des parenthèses lorsque vous définissez une procédure, par exemple un Sub ou Function. Vous devez placer les listes des arguments de la procédure entre parenthèses. Vous utilisez également des parenthèses pour insérer des variables ou des arguments dans des groupes logiques, en particulier pour substituer l'ordre de priorité des opérateurs par défaut 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, d a la valeur 8.225 et e a la valeur 3. Le calcul de d utilise la priorité par défaut de / sur + et équivaut à d = b + (c / a). Les parenthèses dans le calcul de e substituent la priorité par défaut.
Séparateurs
Comme leur nom l'indique, les séparateurs séparent les différentes sections de code. En Visual Basic, c'est le signe deux-points (:) qui est le caractère séparateur. Utilisez des séparateurs lorsque vous voulez inclure plusieurs instructions sur une ligne unique au lieu de lignes séparées. Vous économisez ainsi de l'espace et améliorez la lisibilité de votre code. Dans l'exemple ci-dessous, trois instructions sont séparées par un signe deux-points.
a = 3.2 : b = 7.6 : c = 2
Pour plus d'informations, consultez Comment : diviser et combiner des instructions dans le code (Visual Basic).
Le signe deux-points (:) est également utilisé pour identifier une étiquette d'instruction. Pour plus d'informations, consultez Comment : étiqueter des instructions (Visual Basic).
Concaténation
Utilisez l'opérateur & pour créer une concaténation, c'est-à-dire lier plusieurs chaînes. Ne confondez pas cet opérateur avec l'opérateur +, qui permet d'ajouter des valeurs numériques. Si vous utilisez l'opérateur + pour créer une concaténation de valeurs numériques, vous risquez d'obtenir des résultats incorrects. C'est ce qu'illustre l'exemple suivant.
var1 = "10.01"
var2 = 11
resultA = var1 + var2
resultB = var1 & var2
Après l'exécution du code précédent, resultA a la valeur 21.01 et resultB a la valeur 10.0111.
Opérateurs d'accès au membre
Pour accéder à un membre d'un type, utilisez le point (.) ou le point d'exclamation (!) comme opérateur entre le nom de type et le nom de membre.
Point (.) Opérateur
Utilisez l'opérateur . sur une classe, une structure, une interface ou une énumération en tant qu'opérateur d'accès au 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()
Point d'exclamation (!) Opérateur
Utilisez l'opérateur ! uniquement dans une classe ou une interface en tant qu'opérateur d'accès de type dictionnaire. La classe ou l'interface doit avoir une propriété par défaut qui accepte un seul argument String. L'identificateur qui suit immédiatement l'opérateur ! devient la valeur de l'argument transmis en tant que string pour la propriété par défaut. C'est ce qu'illustre l'exemple suivant.
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
Toutes les trois lignes de sortie de MsgBox affichent 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 de type dictionnaire à la classe.
Notez que le second opérande de l'opérateur ! doit être un identificateur Visual Basic valide qui n'est pas entouré par des guillemets doubles (" "). En d'autres termes, vous ne pouvez pas utiliser un littéral de chaîne ou une variable chaîne. La modification ci-dessous à la dernière ligne de l'appel MsgBox génère une erreur parce que "X" est un littéral de chaîne entouré par des guillemets.
"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 ! dans une variable à liaison tardive.
Le signe ! est également utilisé comme le caractère de type Single.
Voir aussi
Concepts
Caractères de type (Visual Basic)
Autres ressources
Structure de programme et conventions de codage (Visual Basic)