Escape double quotes in a string

Double quotes can be escaped like this:

string test = @"He said to me, ""Hello World"". How are you?";

But this involves adding character " to the string. Is there a C# function or other method to escape double quotes so that no changing in string is required?


No.

Either use verbatim string literals as you have, or escape the " using backslash.

string test = "He said to me, \"Hello World\" . How are you?";

The string has not changed in either case - there is a single escaped " in it. This is just a way to tell C# that the character is part of the string and not a string terminator.


You can use backslash either way:

string str = "He said to me, \"Hello World\". How are you?";

It prints:

He said to me, "Hello World". How are you?

which is exactly the same that is printed with:

string str = @"He said to me, ""Hello World"". How are you?";

Here is a DEMO.

" is still part of your string.

You can check Jon Skeet's Strings in C# and .NET article for more information.