Typ char je hodnotový typ a každá jeho instance reprezentuje jeden znak v kódování Unicode (16 bitů, tj byty).
Zřetězením sekvence znaků vznikají řetězce.
V .NETu je jeho úplný název včetně jmenného prostoru System.Char.
Jeho literály se uzavírají do apostrofů a lze je zapisovat několikerým způsobem:
'A'
(přímo znak, který nás zajímá)'\u0041'
(hexadecimální hodnota Unicode)(char) 65
(celočíselná hodnota s přetypováním)'\x0041'
(hexadecimální hodnota)
Chceme-li z hodnoty typu char
zjistit její číselnou hodnotu v kódování Unicode
(v desítkové soustavě), použijeme přetypování na int
. Např.:
char c = 'A'; int unicodeForCapitalA = (int) c; Console.WriteLine($"The value of \'{c}\' is {unicodeForCapitalA}.");
Na datovém typu char je definováno uspořádání. Jeho hodnoty lze mezi sebou porovnávat. Například:
if ('A' < 'B') { Console.WriteLine("Znak 'A' je abecedně PŘED znakem 'B'."); } else { Console.WriteLine("Znak 'A' je abecedně ZA znakem 'B'."); }
Mezi běžnými znaky, jako jsou 'A'
, '*'
nebo '@'
,
existují i speciální znaky, které většinou nejsou vidět.
(Případně jde o znaky, jejichž symbol koliduje se syntaxí jazyka C#.)
Pro takové znaky používáme tzv. escape sekvence.
Jejich seznam naleznete zde.