188
votes

I have variable like:

string title = string.empty;

My need is that whatever string is passed to it I have to display the content inside a div with in a double quotes. So I have written something like:

...
...
<div>"+ title +@"</div>
...
...

But how can I add the double quotes here? So that it will display like:

"How to add double quotes"
19
Nope doesn't work asp.net, c# vs2013 no matter how i code if you look and the page source &quot; and &#39; are always displayed. I'm using `Attributes.Add(...' - djack109

19 Answers

368
votes

You need to escape them by doubling them (verbatim string literal):

string str = @"""How to add doublequotes""";

Or with a normal string literal you escape them with a \:

string str = "\"How to add doublequotes\"";
52
votes

So you are essentially asking how to store doublequotes within a string variable? Two solutions for that:

var string1 = @"""inside quotes""";
var string2 = "\"inside quotes\"";

In order to perhaps make it a bit more clear what happens:

var string1 = @"before ""inside"" after";
var string2 = "before \"inside\" after";
16
votes

If you have to do this often and you would like this to be cleaner in code, you might like to have an extension method for this.

This is really obvious code, but still I think it can be useful to grab it and make you save time.

  /// <summary>
    /// Put a string between double quotes.
    /// </summary>
    /// <param name="value">Value to be put between double quotes ex: foo</param>
    /// <returns>double quoted string ex: "foo"</returns>
    public static string AddDoubleQuotes(this string value)
    {
        return "\"" + value + "\"";
    }

Then you may call foo.AddDoubleQuotes() or "foo".AddDoubleQuotes(), on every string you like.

15
votes

If I understand your question properly, maybe you can try this:

string title = string.Format("<div>\"{0}\"</div>", "some text");
7
votes

You can also include the double quotes into single quotes.

string str = '"' + "How to add doublequotes" + '"';
6
votes

Another note:

    string path = @"H:\\MOVIES\\Battel SHIP\\done-battleship-cd1.avi";
    string hh = string.Format("\"{0}\"", path);
    Process.Start(@"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe ", hh + " ,--play");

The real value of hh, as passed, will be "H:\MOVIES\Battel SHIP\done-battleship-cd1.avi".

When needing double double literals, use: @"H:\MOVIES\Battel SHIP\done-battleship-cd1.avi";

Instead of: @"H:\MOVIESBattel SHIP\done-battleship-cd1.avi";

Because the first literals is for the path name and then the second literals are for the double quotation marks.

3
votes

You can use $.

Interpolated Strings: Used to construct strings. An interpolated string looks like a template string that contains interpolated expressions. An interpolated string returns a string that replaces the interpolated expressions that it contains with their string representations. This feature is available in C# 6 and later versions.

string commentor = $"<span class=\"fa fa-plus\" aria-hidden=\"true\"> {variable}</span>";
3
votes

If you want to add double quotes to a string that contains dynamic values also. For the same in place of CodeId[i] and CodeName[i] you can put your dynamic values.

data = "Test ID=" + "\"" + CodeId[i] + "\"" + " Name=" + "\"" + CodeName[i] + "\"" + " Type=\"Test\";
2
votes

You could use &quot; instead of ". It will be displayed correctly by the browser.

2
votes

Using string interpolation with a working example:

var title = "Title between quotes";
var string1 = $@"<div>""{title}""</div>";  // Note the order of the $@
Console.WriteLine (string1);

Output

<div>"Title between quotes"</div>
1
votes

Use either

&dquo;
<div>&dquo;"+ title +@"&dquo;</div>

or escape the double quote:

\"
<div>\""+ title +@"\"</div>
1
votes

In C# you can use:

 string1 = @"Your ""Text"" Here";
 string2 = "Your \"Text\" Here";
1
votes
string doubleQuotedPath = string.Format(@"""{0}""",path);
1
votes

An indirect, but simple to understand alternative to add quotes at start and end of string -

char quote = '"';

string modifiedString = quote + "Original String" + quote;
0
votes

Put a backslash (\) before the double quotes. That should work.

0
votes

"<i class=\"fa fa-check-circle\"></i>" is used with ternary operator with Eval() data binding:

Text = '<%# Eval("bqtStatus").ToString()=="Verified" ? 
       Convert.ToString("<i class=\"fa fa-check-circle\"></i>") : 
       Convert.ToString("<i class=\"fa fa-info-circle\"></i>"
0
votes

Start each row with "-" to create a bullet list.

0
votes

If you want to add double quotes in HTML

echo "<p>Congratulations, &#8220;" . $variable . "&#8221;!</p>";

Output

Congratulations, "Mr John"!
0
votes

In C#, if we use "" it means that it will indicate the following symbol is not a C# built-in symbol that will used by the developer.

So in a string we need double quotes, meaning we can put "" symbol before double quotes:

string s = "\"Hi\""