Dela via


char (C#-referens)

Typnyckelordet char är ett alias för .NET-strukturtypen System.Char . Den representerar en Unicode UTF-16-kodenhet, vanligtvis ett UTF-16-tecken.

Typ Räckvidd Storlek .NET-typ
char U+0000 till U+FFFF 16 bitar System.Char

Standardvärdet för char typen är \0, vilket är U+0000.

C#-språkreferensen dokumenterar den senaste versionen av C#-språket. Den innehåller även inledande dokumentation för funktioner i offentliga förhandsversioner för den kommande språkversionen.

Dokumentationen identifierar alla funktioner som först introducerades i de tre senaste versionerna av språket eller i aktuella offentliga förhandsversioner.

Tips/Råd

Information om när en funktion först introducerades i C# finns i artikeln om språkversionshistoriken för C#.

Typen char stöder jämförelse-, likhets-, inkrements- och minskningsoperatorer. För char operander utför aritmetiska och bitvis logiska operatorer en åtgärd på motsvarande kodpunkter och skapar resultatet som ett int värde.

Strängtypen representerar text som en sekvens med char värden.

Literaler

Du kan ange ett char värde med hjälp av:

  • 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.

Anmärkning

I en Unicode-escape-sekvens måste du ange alla fyra hexadecimala siffror. Det vill: \u006A är en giltig escape-sekvens, medan \u06A och \u6A är ogiltig.

I en hexadecimal escape-sekvens kan du utelämna inledande nollor. Det innebär att \x006Aescape-sekvenserna , \x06Aoch \x6A är giltiga och motsvarar samma tecken.

Conversions

Typen char konverterar implicit till följande integraltyper : ushort, int, uint, long, , ulong, nintoch nuint. Den konverterar också implicit till de inbyggda numeriska flyttalstyperna : float, doubleoch decimal. Den konverterar uttryckligen till sbyte, byteoch short integraltyper.

Det finns inga implicita konverteringar från andra typer till char typen. Du kan dock uttryckligen konvertera valfri numerisk typ av integrerad eller flyttal till char.

Språkspecifikation för C#

Mer information finns i avsnittet Integral types (Integral types) i C#-språkspecifikationen.

Se även