C# Character Literal (const char)

Examine character literals, which use single-quotes. Review escape sequences.
Character literal. 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.Char
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.Compile-Time Error
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.

Info: The literals are immutable and cannot be changed, but the variables that store those values simply denote storage locations.

Here: The const char in the program uses value semantics and cannot be reassigned. It is a named literal.

constString Literal

Escaped: Character literals are escaped with the "\" character, and this is how you can represent the newline "\n".


Finally: We print the literal values to the screen with Console.WriteLine—the backslash is no longer present.

C# program that uses character literals 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); } } Output A b \ _ e #
Compile-time errors. It is critical to understand how char literal escapes work. This program shows some possible errors in a C# program.

And: For a newcomer to C# this program could be a challenge to debug (we need double backslashes in the literal).

C# program that shows char syntax errors class Program { static void Main() { char backslash = '\'; } } Output Error CS1010 Newline in constant Error CS1012 Too many characters in character literal Error CS1002 ; expected
A discussion. 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.

Further: A 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.

A summary. 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.
© 2007-2019 Sam Allen. Every person is special and unique. Send bug reports to info@dotnetperls.com.
Dot Net Perls