char (C#-referens)
Typnyckelordet char
är ett alias för .NET-strukturtypen System.Char som representerar ett Unicode UTF-16-tecken.
Typ | Intervall | Storlek | .NET-typ |
---|---|---|---|
char |
U+0000 till U+FFFF | 16 bitar | System.Char |
Standardvärdet för char
typen är \0
, d.v.s. U+0000.
Typen char
stöder jämförelse-, likhets-, inkrements- och minskningsoperatorer . För char
operander utför dessutom aritmetiska och bitvis logiska operatorer en åtgärd på motsvarande teckenkoder och ger resultatet av int
typen.
Strängtypen representerar text som en sekvens med char
värden.
Literaler
Du kan ange ett char
värde med:
- en teckenliteral.
- en Unicode-escape-sekvens som
\u
följs av en hexadecimal representation av en teckenkod med fyra symboler. - en hexadecimal escape-sekvens, som
\x
följs av den hexadecimala representationen av en teckenkod.
var chars = new[]
{
'j',
'\u006A',
'\x006A',
(char)106,
};
Console.WriteLine(string.Join(" ", chars)); // output: j j j j
Som föregående exempel visar kan du också omvandla värdet för en teckenkod till motsvarande char
värde.
Kommentar
När det gäller en Unicode-escape-sekvens måste du ange alla fyra hexadecimala siffror. Det vill: \u006A
är en giltig escape-sekvens, medan \u06A
och \u6A
inte är giltig.
När det gäller en hexadecimal escape-sekvens kan du utelämna inledande nollor. Det innebär att \x006A
escape-sekvenserna , \x06A
och \x6A
är giltiga och motsvarar samma tecken.
Omvandlingar
Typen char
är implicit konvertibel till följande integraltyper : ushort
, int
, uint
, long
, och ulong
. Det är också implicit konvertibelt till de inbyggda numeriska flyttalstyperna : float
, double
och decimal
. Det är explicit konvertibelt till sbyte
, byte
och short
integraltyper.
Det finns inga implicita konverteringar från andra typer till char
typen. Alla numeriska typer av integraler eller flyttalspunkter kan dock uttryckligen konverteras till char
.
Språkspecifikation för C#
Mer information finns i avsnittet Integral types (Integral types) i C#-språkspecifikationen.