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.