C# – Multiline string literal in C#

cshorthandstring

Is there an easy way to create a multiline string literal in C#?

Here's what I have now:

string query = "SELECT foo, bar"
+ " FROM table"
+ " WHERE id = 42";

I know PHP has

<<<BLOCK

BLOCK;

Does C# have something similar?

Best Answer

You can use the @ symbol in front of a string to form a verbatim string literal:

string query = @"SELECT foo, bar
FROM table
WHERE id = 42";

You also do not have to escape special characters when you use this method, except for double quotes as shown in Jon Skeet's answer.