Char, type de données (Visual Basic)

Contient des points de code 16 bits (2 octets) non signés dont la valeur est comprise entre 0 et 65535. Chaque point de code ou code de caractère représente un caractère Unicode unique.

Notes

Utilisez le type de données Char lorsque vous devez contenir un seul caractère et n’avez pas besoin de la surcharge de String. Dans certains cas, vous pouvez utiliser Char(), un tableau d’éléments Char, pour contenir plusieurs caractères.

La valeur par défaut de Char est le caractère avec un point de code de 0.

Caractères Unicode

Les 128 premiers points de code (0 à 127) d’Unicode correspondent aux lettres et aux symboles d’un clavier américain standard. Ces 128 premiers points de code sont identiques à ceux définis par le jeu de caractères ASCII. Les 128 points de code suivants (128 à 255) représentent des caractères spéciaux, tels que des lettres alphabétiques latines, des accents, des symboles monétaires et des fractions. Unicode utilise les points de code restants (256-65535) pour une grande variété de symboles, y compris des caractères textuels, diacritiques et symboles mathématiques et techniques internationaux.

Vous pouvez utiliser des méthodes comme IsDigit et IsPunctuation sur une variable Char pour déterminer sa classification Unicode.

Conversions de type

Visual Basic ne convertit pas directement entre Char et les types numériques. Vous pouvez utiliser la fonction Asc ou AscW pour convertir une valeur Char en un Integer qui représente son point de code. Vous pouvez utiliser la fonction Chr ou ChrW pour convertir une valeur Integer en un Char possédant un point de code.

Si le commutateur de vérification de type (l’instruction Option Strict) est activé, vous devez ajouter le caractère de type littéral à un littéral de chaîne à caractère unique pour l’identifier comme le type de données Char. L'exemple suivant illustre ce comportement. La première affectation à la variable charVar génère l’erreur du compilateur BC30512, car Option Strict est activé. La deuxième compile correctement, car le caractère de type littéral c identifie le littéral comme une valeur Char.

Option Strict On

Module CharType
    Public Sub Main()
        Dim charVar As Char

        ' This statement generates compiler error BC30512 because Option Strict is On.  
        charVar = "Z"  

        ' The following statement succeeds because it specifies a Char literal.  
        charVar = "Z"c
    End Sub
End Module

Conseils de programmation

  • Nombres négatifs. Char est un type non signé et ne peut pas représenter une valeur négative. Dans tous les cas, vous ne devez pas utiliser Char pour contenir des valeurs numériques.

  • Considérations sur l'interopérabilité. Si vous utilisez des composants non écrits pour le .NET Framework, par exemple des objets Automation ou COM, n’oubliez pas que les types de caractères ont une largeur de données différente (8 bits) dans les autres environnements. Si vous passez un argument de 8 bits à un tel composant, déclarez-le en tant que type de données Byte et non Char dans votre nouveau code Visual Basic.

  • Extension. Le type de données Char s’étend à String. Cela signifie que vous pouvez convertir Char en String et ceci sans rencontrer de System.OverflowException.

  • Caractères de type. L’ajout du caractère de type littéral C à un littéral de chaîne à caractère unique force le type de données Char. Char ne possède pas de caractère de type d’identificateur.

  • Type .NET Framework. Le type correspondant dans le .NET Framework est la structure System.Char.

Voir aussi