A string literal in C# represents a sequence of Unicode characters. There are two main types of string literals in C#–regular string literals and verbatim string literals. Verbatim string literals allow including special characters in a string directly, rather than having to specify them using an escape sequence. All string literals are of type string.
Here are some examples of string literals:
1
2
3
4
5
6
7
8
9
10
11
12
| string s1 = "Hi";string s2 = @"Hi"; // Verbatim string literal--same thingstring s3 = "C:\\Dir"; // C:\Dir (escape seq for backslash)string s4 = @"C:\Dir"; // No escape seq requiredstring s5 = "\x48\x69"; // Hi (hex codes for each character)string s6 = "\x20AC 1.99"; // € 1.99string s7 = "€ 1.99"; // Unicode directly in string// UTF-32 characters using surrogate pairsstring s8 = "\U00020213"; // U+20213 (UTF-32)string s9 = "\ud840\ude13"; // Equiv surrogate pairstring s10 = "𠈓"; // Same character |
Note:
- \u is followed by 4-byte UTF16 character code
- \U is followed by 8-byte UTF32 character code, which is then converted to equivalent surrogate pair

