I did som copy and paste from the good folks at Microsoft (http://msdn.microsoft.com/en-us/library/362314fe(VS.71).aspx):
String literals are of type string and can be written in two
forms, quoted and @-quoted. Quoted string literals are enclosed in
double quotation marks ("):
Copy Code
"good morning" // a string literal
and can contain any character literal, including escape
sequences:
Copy Code
string a = "\\\u0066\n"; // backslash, letter f, new line
Note The escape code \udddd (where dddd is a
four-digit number) represents the Unicode character U+dddd.
Eight-digit Unicode escape codes are also recognized:
\udddd\udddd.
@-quoted string literals start with @ and are enclosed in double
quotation marks. For example:
Copy Code
@"good morning" // a string literal
The advantage of @-quoting is that escape sequences are not
processed, which makes it easy to write, for example, a fully
qualified file name:
Copy Code
@"c:\Docs\Source\a.txt" // rather than "c:\\Docs\\Source\\a.txt"
To include a double quotation mark in an @-quoted string, double
it:
Copy Code
@"""Ahoy!"" cried the captain." // "Ahoy!" cried the captain.
Another use of the @ symbol is to use referenced (/reference) identifiers that happen to be C#
keywords. For more information, see 2.4.2 Identifiers.