Sunday, June 19, 2016

.net - Putting " in verbatim string with C#




I need to print




a
"b"
c


with the vebatim string, I posed another question about multiple line code template here.



I tried with verbatim string as follows :




using System;

class DoFile {

static void Main(string[] args) {
string templateString = @"
{0}
\\"{1}\\"
{2}
";

Console.WriteLine(templateString, "a", "b", "c");
}
}


But, I got this error.



t.cs(8,11): error CS1525: Unexpected symbol `{'
t.cs(9,0): error CS1010: Newline in constant
t.cs(10,0): error CS1010: Newline in constant



\"{1}\" doesn't work neither.



What's wrong?


Answer



Try this ( "" instead of " to escape )



string templateString = @"
{0}

""{1}""
{2}
";


From C# specification: http://msdn.microsoft.com/en-us/library/Aa691090




quote-escape-sequence:
""




No comments:

Post a Comment