为了账号安全,请及时绑定邮箱和手机立即绑定

有没有办法在C#中交替使用单引号和双引号,就像在javascript中一样?

有没有办法在C#中交替使用单引号和双引号,就像在javascript中一样?

C#
慕村225694 2022-08-20 16:01:50
在javascript中,我可以写    var s = 'He said "Hello" to me';         or      var s = "don't be sad";换句话说,如果我想在字符串中使用双引号,则可以使用单引号声明字符串。如果我想在字符串中使用单引号,可以使用双引号声明字符串。这超级方便。有没有人找到一种方法在C#中做类似的事情?单引号很容易,c#已经可以与嵌入单引号一起使用。至于双引号,似乎有2个常见的选择。使用反斜杠转义字符var s = "He said \"Hello\" to me";使用单引号并将其替换为双引号var s = "He said 'Hello' to me"; s = s.Replace("'","\"");我可以接受选项2,但越好越好。
查看完整描述

4 回答

?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

Javascript和C#都是基于C的。

在 C 中,用于分隔字符,并用于分隔字符串。'"

在Javascript中没有字符类型,所以如果你想要一个字符,你使用单字符字符串。因此,它只需要,但许多习惯于C风格语言的人习惯于并且更喜欢用于字符的单字符字符串。这很快导致人们发展出其他风格,特别是因为逃避规则会以你所说的方式方便它。"'

C#确实有一个字符类型,以及一个字符串类型,因此它在这方面保持了C语法。

Javascript语法的功能是由于其类型系统的一个功能与C#不匹配,以及它们从C借用语法的共享历史而出现的。如果设计人员想要它,它就不能在C#中工作,而不会使和文字之间的区别大大复杂化。stringchar


查看完整回答
反对 回复 2022-08-20
?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

您可以在字符串上定义扩展方法,以加快工作速度并减少键入错误的机会。

    public static string ApostrophesToQuotes(this string s)
    {        
        return s.Replace('\'', '"');
    }

还有一种方法可以在字符串文本中编写引号。

var s = @"he said ""Hello"" to me");

但您不能混合使用它们,因为撇号表示单字符文本(UTF-16 中的 2 字节整数),而引号表示字符串文本(字符数组)。


查看完整回答
反对 回复 2022-08-20
?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

不,没有办法。

单引号是变量分隔符'char

双引号是变量分隔符"string

有关详细信息,请查看 MS 字符串编程指南


查看完整回答
反对 回复 2022-08-20
?
BIG阳

TA贡献1859条经验 获得超6个赞

我决定只使用单引号,并用双引号替换它们。

    var s = "He said 'Hello' to me";
    s = s.Replace("'","\"");

这有点烦人,因为我需要粘贴这样的东西

    {"children":[{"domid":"sbsmStatusFilter","datatitle":"SBS Status","dataicon":"img/appicons/rsm4-64x64.png"},{"domid":"sbsMonitoringFilters","datatitle":"Monitoring","dataicon":"img/appicons/monitoring64x64.png"}]}

然后使用文本编辑器查找替换函数将所有双引号替换为单引号,然后添加文本替换代码,我最终将其转换为此

    var text3 = @"{'children':[{'domid':'sbsmStatusFilter','datatitle':'SBS Status','dataicon':'img/appicons/rsm4-64x64.png'},{'domid':'sbsMonitoringFilters','datatitle':'Monitoring','dataicon':'img/appicons/monitoring64x64.png'}]}";
    text3 = text3.Replace("'", "\"");

我想还不错。至少文本相当容易阅读,因此人们可以修改它。


查看完整回答
反对 回复 2022-08-20
  • 4 回答
  • 0 关注
  • 164 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信