Sunday, 19 June 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

c++ - Does curly brackets matter for empty constructor?

Those brackets declare an empty, inline constructor. In that case, with them, the constructor does exist, it merely does nothing more than t...