C# 为什么我们使用@with"\&引用;当试图用另一个字符串替换它时

C# 为什么我们使用@with"\&引用;当试图用另一个字符串替换它时,c#,asp.net,string,forms,C#,Asp.net,String,Forms,可能重复: 为什么我们要使用@用另一个字符串替换\使用字符串。替换(@“\”,“$$” 我使用的是Cwindows应用程序,因为如果你不这样做,你就必须用\逃离\ @用于所谓的字符串文本前面的@使其成为,因此反斜杠\不需要加倍。您可以使用“\\”而不是@“\”来实现相同的效果。在C#中,您可以在字符串前面加上@使其逐字显示,因此不需要转义特殊字符 @"\" 与相同 "\\" 因为反斜杠被视为转义字符,如果不使用“@”,则会出现“无法识别的转义序列”错误。使用“@”告诉编译器忽略转义字符。可

可能重复:

为什么我们要使用
@
用另一个字符串替换
\
使用
字符串。替换(@“\”,“$$”

我使用的是
C
windows应用程序

,因为如果你不这样做,你就必须用
\
逃离
\


@
用于所谓的

字符串文本前面的
@
使其成为,因此反斜杠
\
不需要加倍。您可以使用
“\\”
而不是
@“\”
来实现相同的效果。

在C#中,您可以在字符串前面加上
@
使其逐字显示,因此不需要转义特殊字符

@"\"
与相同

"\\"

因为反斜杠被视为转义字符,如果不使用“@”,则会出现“无法识别的转义序列”错误。使用“@”告诉编译器忽略转义字符。可能会有帮助。

2.4.4.5字符串文字说明:

C#支持两种形式的字符串文字:常规字符串文字和 逐字字符串文本

常规字符串文字由零个或多个封闭字符组成 在双引号中,如在“hello”中,可能包括两个简单的转义 序列(如制表符的\t)以及十六进制和 Unicode转义序列

逐字字符串文字由@字符后跟 双引号字符、零个或多个字符和结束符 双引号字符。一个简单的例子是@“你好”。一字不差 字符串文字,分隔符之间的字符将被解释 逐字逐句,唯一的例外是引用转义序列。在里面 特殊的、简单的转义序列、十六进制和Unicode 转义序列不以逐字字符串文字处理。A. 逐字字符串文字可能跨越多行

使用
@
字符的逐字字符串文字在实际操作中使转义几乎所有的字符变得更容易,否则您将不得不在字符串中使用
\
字符单独转义

注意:
字符即使在逐字模式下也需要转义


因此,我会用它来节省时间,不必通过一个长字符串来转义所有需要转义的字符。

erm,你猜怎么着,这个问题以前至少出现过一次。使用谷歌来获得答案也很简单