char (référence C#)
Le char
mot clé de type est un alias pour le type de structure .NET System.Char qui représente un caractère UTF-16 Unicode.
Type | Plage | Taille | Type .NET |
---|---|---|---|
char |
U+0000 à U+FFFF | 16 bits | System.Char |
La valeur par défaut du char
type est \0
, autrement dit, U+0000.
Le char
type prend en charge la comparaison, l’égalité, l’incrémentation et les opérateurs de décrémentation. En outre, pour char
les opérandes, les opérateurs logiques arithmétiques et binaires effectuent une opération sur les codes de caractères correspondants et produisent le résultat du int
type.
Le type de chaîne représente du texte sous la forme d’une séquence de char
valeurs.
Littéraux
Vous pouvez spécifier une char
valeur avec :
- littéral de caractères.
- séquence d’échappement Unicode, suivie
\u
de la représentation hexadécimale de quatre symboles d’un code de caractères. - séquence d’échappement hexadécimale, suivie
\x
de la représentation hexadécimale d’un code de caractères.
var chars = new[]
{
'j',
'\u006A',
'\x006A',
(char)106,
};
Console.WriteLine(string.Join(" ", chars)); // output: j j j j
Comme l’illustre l’exemple précédent, vous pouvez également convertir la valeur d’un code de caractère dans la valeur correspondante char
.
Notes
Dans le cas d’une séquence d’échappement Unicode, vous devez spécifier les quatre chiffres hexadécimaux. Autrement dit, \u006A
il s’agit d’une séquence d’échappement valide, alors qu’elle \u06A
\u6A
n’est pas valide.
Dans le cas d’une séquence d’échappement hexadécimale, vous pouvez omettre les zéros principaux. Autrement dit, les séquences d’échappement et \x6A
les \x006A
\x06A
séquences d’échappement sont valides et correspondent au même caractère.
Conversions
Le char
type est implicitement convertible en types intégral suivants : ushort
, int
, uint
, , long
et ulong
. Il est également implicitement convertible en types numériques intégrés à virgule flottante : float
, double
et decimal
. Il est explicitement convertible en sbyte
types, byte
et short
intégraux.
Il n’existe aucune conversion implicite d’autres types vers le char
type. Toutefois, tout type numérique intégral ou à virgule flottante est explicitement convertible en char
.
spécification du langage C#
Pour plus d’informations, consultez la section Types intégral de la spécification du langage C#.