【问题标题】:What is the difference between @ and \ operators in string? [duplicate]字符串中的@和\运算符有什么区别? [复制]
【发布时间】:2015-11-10 07:09:14
【问题描述】:

@ 运算符,您可以在字符串中放置infornt 以允许字符串中的特殊字符,还有\。好吧,我知道@ 可以为变量使用保留名称,但我很好奇这两个运算符与字符串的区别。

在网络上搜索表明这两个是相同的,但我仍然认为@\ 之间一定有什么不同。

要测试的代码:

string _string0 = @"Just a ""qoute""";
string _string1 = "Just a \"qoute\"";
Console.WriteLine("{0} | {1}",_string0, _string1);

问题:@"Just a ""qoute""";"Just a \"qoute\""; 仅在字符串方面有什么区别?

编辑:问题已经回答here.

【问题讨论】:

标签: c# string special-characters


【解决方案1】:

使用@(表示逐字字符串文字)可以将任何字符放入字符串中,甚至换行符。您需要转义的唯一字符是双引号。通常的 \* 转义序列和 Unicode 转义序列不会在此类字符串文字中处理。
如果没有 @(在 常规字符串文字中),您需要转义每个特殊字符,例如换行符。

您可以在 C# 编程指南中阅读更多相关信息:
https://msdn.microsoft.com/en-us/library/ms228362.aspx#Anchor_3

【讨论】:

    【解决方案2】:

    @ 是一个逐字字符串,它允许您一次不转义每个特殊字符,而是将它们全部转义。而 \ 只允许您转义一个特定字符。 有关字符串的更多信息:https://msdn.microsoft.com/en-us/library/aa691090%28v=vs.71%29.aspx

    【讨论】:

      猜你喜欢
      • 2011-02-26
      • 2016-04-28
      • 2011-01-02
      • 2011-09-05
      • 2012-12-19
      • 2016-06-22
      • 2010-09-13
      • 1970-01-01
      相关资源
      最近更新 更多