197

我有像这样的变量:

string title = string.empty;

我需要的是,无论传递给它什么字符串,我都必须用双引号显示div内的内容。所以我写了类似的东西:

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

但是如何在此处添加双引号?这样它就会显示如下:

"How to add double quotes"
4

19 回答 19

380

您需要通过将它们加倍(逐字字符串文字)来逃避它们:

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

或者使用普通的字符串文字,您可以使用\:

string str = "\"How to add doublequotes\"";
于 2010-10-11T12:01:21.597 回答
56

所以你本质上是在问如何在字符串变量中存储双引号?两种解决方案:

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

为了更清楚地说明会发生什么:

var string1 = @"before ""inside"" after";
var string2 = "before \"inside\" after";
于 2010-10-11T12:01:28.133 回答
20

如果您必须经常这样做,并且希望代码更简洁,您可能希望为此提供一个扩展方法。

这是非常明显的代码,但我仍然认为抓住它并节省时间会很有用。

  /// <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 + "\"";
    }

然后你可以在你喜欢的每个字符串上调用 foo.AddDoubleQuotes() 或 "foo".AddDoubleQuotes()。

于 2013-05-29T07:54:31.563 回答
15

如果我正确理解你的问题,也许你可以试试这个:

string title = string.Format("<div>\"{0}\"</div>", "some text");
于 2010-10-11T12:03:28.817 回答
7

您还可以将双引号包含在单引号中。

string str = '"' + "How to add doublequotes" + '"';
于 2017-10-14T07:10:29.500 回答
6

另一个注意事项:

    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");

传递的实际值hh将是“H:\MOVIES\Battel SHIP\done-battleship-cd1.avi”。

当需要双双字面量时,使用:@"H:\MOVIES\Battel SHIP\done-battleship-cd1.avi";

而不是:@"H:\MOVIESBattel SHIP\done-battleship-cd1.avi";

因为第一个文字用于路径名,然后第二个文字用于双引号。

于 2013-07-05T21:20:25.183 回答
3

使用带有工作示例的字符串插值

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

输出

<div>"Title between quotes"</div>
于 2016-11-30T00:20:25.137 回答
3

您可以使用$.

插值字符串:用于构造字符串。内插字符串看起来像包含内插表达式的模板字符串。内插字符串返回一个字符串,该字符串将其包含的内插表达式替换为其字符串表示形式。此功能在 C# 6 及更高版本中可用。

string commentor = $"<span class=\"fa fa-plus\" aria-hidden=\"true\"> {variable}</span>";
于 2018-01-14T15:51:13.847 回答
3

如果您想在包含动态值的字符串中添加双引号。对于 CodeId[i] 和 CodeName[i] 的相同位置,您可以放置​​您的动态值。

data = "Test ID=" + "\"" + CodeId[i] + "\"" + " Name=" + "\"" + CodeName[i] + "\"" + " Type=\"Test\";
于 2019-01-30T09:22:37.173 回答
2

您可以使用&quot;而不是". 它将被浏览器正确显示。

于 2010-10-11T12:02:26.710 回答
1

使用任一

&dqu;
<div>&dquo;"+ 标题 +@"&dquo;</div>

或转义双引号:

\"
<div>\""+ 标题+@"\"</div>
于 2010-10-11T12:04:04.353 回答
1

在 C# 中,您可以使用:

 string1 = @"Your ""Text"" Here";
 string2 = "Your \"Text\" Here";
于 2016-05-06T12:59:56.590 回答
1
string doubleQuotedPath = string.Format(@"""{0}""",path);
于 2017-03-03T06:06:22.953 回答
1

在字符串的开头和结尾添加引号的一种间接但易于理解的替代方法 -

char quote = '"';

string modifiedString = quote + "Original String" + quote;
于 2018-07-17T13:20:41.177 回答
0

在双引号之前放置一个反斜杠 (\)。那应该行得通。

于 2010-10-11T12:01:47.180 回答
0

在 C# 中,如果我们使用“”,则意味着它将指示以下符号不是开发人员将使用的 C# 内置符号。

所以在字符串中我们需要双引号,这意味着我们可以在双引号之前加上“”符号:

string s = "\"Hi\""
于 2017-02-24T10:26:05.733 回答
0

"<i class=\"fa fa-check-circle\"></i>"Eval()与具有数据绑定的三元运算符一起使用:

Text = '<%# Eval("bqtStatus").ToString()=="Verified" ? 
       Convert.ToString("<i class=\"fa fa-check-circle\"></i>") : 
       Convert.ToString("<i class=\"fa fa-info-circle\"></i>"
于 2017-12-06T13:10:13.437 回答
0

如果要在 HTML 中添加双引号

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

输出

Congratulations, "Mr John"!
于 2018-09-25T10:10:52.253 回答
0

以“-”开始每一行以创建一个项目符号列表。

于 2020-11-05T08:55:14.657 回答