int literals are defined by simply using integral values within the range of int:
int i = 5;
uint literals are defined by using the suffix U or u, or by using an integral values within the range of uint:
uint ui = 5U;
string literals are defined by wrapping the value with double-quotes ":
string s = "hello, this is a string literal";
String literals may contain escape sequences. See String Escape Sequences
Additionally, C# supports verbatim string literals (See Verbatim Strings). These are defined by wrapping the value with double-quotes ", and prepending it with @. Escape sequences are ignored in verbatim string literals, and all whitespace characters are included:
string s = @"The path is:
C:\Windows\System32";
//The backslashes and newline are included in the string
char literals are defined by wrapping the value with single-quotes ':
char c = 'h';
Character literals may contain escape sequences. See String Escape Sequences
A character literal must be exactly one character long (after all escape sequences have been evaluated). Empty character literals are not valid. The default character (returned by default(char) or new char()) is '\0', or the NULL character (not to be confused with the null literal and null references).
byte type has no literal suffix. Integer literals are implicitly converted from int:
byte b = 127;
sbyte type has no literal suffix. Integer literals are implicitly converted from int:
sbyte sb = 127;
decimal literals are defined by using the suffix M or m on a real number:
decimal m = 30.5M;
double literals are defined by using the suffix D or d, or by using a real number:
double d = 30.5D;
float literals are defined by using the suffix F or f, or by using a real number:
float f = 30.5F;
long literals are defined by using the suffix L or l, or by using an integral values within the range of long:
long l = 5L;
ulong literals are defined by using the suffix UL, ul, Ul, uL, LU, lu, Lu, or lU, or by using an integral values within the range of ulong:
ulong ul = 5UL;
short type has no literal. Integer literals are implicitly converted from int:
short s = 127;
ushort type has no literal suffix. Integer literals are implicitly converted from int:
ushort us = 127;
bool literals are either true or false;
bool b = true;
@null