【问题标题】:How to escape double quotes with string interpolation [duplicate]如何使用字符串插值转义双引号 [重复]
【发布时间】:2019-01-24 05:01:56
【问题描述】:

我有这个:

var s = $"my name is {model.Name}":

我希望字符串是:

“我的名字是“某人””

我该怎么做?

【问题讨论】:

  • 与不使用字符串插值的方式相同?
  • @bernlim 不,字符串插值与逐字字符串不同。

标签: c#


【解决方案1】:

你必须像这样使用反斜杠:

var s = $"my name is \"{model.Name}\"";

【讨论】:

    【解决方案2】:

    就像没有字符串插值一样:

    var s = $"my name is \"{model.Name}\"";
    

    逐字逐句的字符串有点不同:

    var s = $@"my name is ""{model.Name}""";
    

    【讨论】:

    • 这就是我得到的“我的名字是\”某人\“”
    • 不,你没有。你在看调试器,不是吗?
    • 关于 SO 的下一个问题:如何删除字符串中的 \ 字符,string.Replace() 不起作用
    【解决方案3】:

    你可以使用双引号转义\":

    var s = $"my name is \"{model.name}\"";
    

    您可以在 .NET 中找到更多可用的字符转义序列 herehere

    【讨论】:

    • @PatrickHofman 哦,我的错,没看到,但我想 .NET 中对 Character Escapes 的引用很有用
    猜你喜欢
    • 1970-01-01
    • 2016-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-08
    • 2010-11-24
    • 2017-03-02
    • 1970-01-01
    相关资源
    最近更新 更多