A character literal is a value. It is usually assigned to a variable of type char
. Character literals in the C# language are enclosed in single-quote characters.
In character literals, some values must be escaped with backslash characters. This can lead to compile-time errors if not done correctly. Care must be used.
First, we use character literals in the C# language. Char
variables, such as those at the class
level or the local variable level, are assigned to the character literal values.
const
char
in the program uses value semantics and cannot be reassigned. It is a named literal.Console.WriteLine
—the backslash is no longer present.using System; class Program { static char _literal5 = 'e'; // Static character literal. const char _literal6 = '#'; // Constant character literal. static void Main() { // // Shows some example character literals. // ... Also shows a local constant character literal. // ... Then prints them. // char literal1 = 'A'; char literal2 = 'b'; char literal3 = '\\'; const char literal4 = '_'; Console.WriteLine(literal1); Console.WriteLine(literal2); Console.WriteLine(literal3); Console.WriteLine(literal4); Console.WriteLine(_literal5); Console.WriteLine(_literal6); } }A b \ _ e #
It is critical to understand how char
literal escapes work. This program shows some possible errors in a C# program.
double
backslashes in the literal).class Program { static void Main() { char backslash = '\'; } }Error CS1010 Newline in constant Error CS1012 Too many characters in character literal Error CS1002 ; expected
A variable (like char
) denotes a storage location. This can be reassigned to different values. A character literal denotes a value, and this can never be changed in memory.
const
char
can only be used as a value, not a variable. It is a way of referring to a character literal by a name.Character literals represent character values. They are a form of value representation, not a variable type—they are constants.
Character literals cannot be changed during runtime, but the variables that store them can. We must escape some literals, like newlines and the backslash.