C# Special Characters - Complete Guide
Introduction to Special Characters
Special characters in C# strings are characters that have specific meanings or require escape sequences. These include newline, tab, quotes, Unicode characters, and other control characters.
C# provides escape sequences, verbatim strings, and Unicode encoding to handle special characters effectively.
Escape Sequences
Escape sequences start with a backslash (\) and represent special characters inside strings.
Example
using System;
namespace EscapeSequencesExample
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Common escape sequences:");
Console.WriteLine($"Backslash: \\");
Console.WriteLine($"Single quote: \'");
Console.WriteLine($"Double quote: \"");
Console.WriteLine($"New line: Line1\nLine2");
Console.WriteLine($"Tab: Column1\tColumn2");
string path = "C:\\Users\\John\\Documents";
string quoted = "She said, \"Hello!\"";
Console.WriteLine($"\nPath: {path}");
Console.WriteLine($"Quoted: {quoted}");
string verbatimPath = @"C:\Users\John\Documents";
string verbatimQuoted = @"She said, ""Hello!""";
Console.WriteLine($"\nVerbatim path: {verbatimPath}");
Console.WriteLine($"Verbatim quoted: {verbatimQuoted}");
}
}
}
Output
Common escape sequences: Backslash: \ Single quote: ' Double quote: " New line: Line1 Line2 Tab: Column1 Column2 Path: C:\Users\John\Documents Quoted: She said, "Hello!" Verbatim path: C:\Users\John\Documents Verbatim quoted: She said, "Hello!"
Unicode and Special Characters
C# supports Unicode and hexadecimal escape sequences to represent characters beyond ASCII.
Example
using System;
namespace UnicodeExample
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Unicode characters:");
Console.WriteLine("Euro: \u20AC");
Console.WriteLine("Copyright: \u00A9");
Console.WriteLine("Heart: \u2665");
Console.WriteLine("\nHexadecimal escapes:");
Console.WriteLine("Euro: \x20AC");
string emoji = char.ConvertFromUtf32(0x1F600);
Console.WriteLine($"\nEmoji: {emoji}");
char[] chars = { 'A', '1', ' ', '€', 'α' };
foreach (char c in chars)
{
Console.WriteLine($"'{c}' ({(int)c})");
}
}
}
}
Output
Unicode characters: Euro: € Copyright: © Heart: ♥ Hexadecimal escapes: Euro: € Emoji: 😀 'A' (65) '1' (49) ' ' (32) '€' (8364) 'α' (945)