Can I escape a double quote in a verbatim string literal?
-
20-09-2019 - |
Question
In a verbatim string literal (@"foo") in C#, backslashes aren't treated as escapes, so doing \" to get a double quote doesn't work. Is there any way to get a double quote in a verbatim string literal?
This understandably doesn't work:
string foo = @"this \"word\" is escaped";
Solution
Use a duplicated double quote.
@"this ""word"" is escaped";
outputs:
this "word" is escaped
OTHER TIPS
Use double quotation marks.
string foo = @"this ""word"" is escaped";
For adding some more information, your example will work without the @
symbol (it prevents escaping with \), this way:
string foo = "this \"word\" is escaped!";
It will work both ways but I prefer the double-quote style for it to be easier working, for example, with filenames (with lots of \ in the string).
This should help clear up any questions you may have: c# literals
Here is a table from the linked content:
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow