Possible Duplicate:
.NET的字符串前面的 @是什么?
我有以下代码:
new Attachment(Request.PhysicalApplicationPath + @"pdf\" + pdfItem.Value)
什么是@
签名吗?
答案
它与Filepath无关。它改变了字符串的逃脱行为。
在字面的字符串前缀@
逃脱序列以\
被禁用。这对于filepaths很方便,因为\
是路径分离器,您不希望它启动逃生序列。
在普通字符串中,您必须逃脱\
进入\\
因此,您的示例看起来像这样的" PDF \"。但是由于它的前缀@
唯一需要逃脱的角色是"
(被逃脱为""
)和\
可以简单地出现。
此功能对于包含字符串文字方便\
例如filepaths或Regexes。
对于您的简单示例,收益并不大,但是图像您有一条完整的路径"C:\\ABC\\CDE\\DEF"
然后@"C:\ABC\CDE\DEF"
看起来好多了。
对于正则表达式,这几乎是必须的。正则是几个\
如果您需要逃脱其他角色,已经逃脱了其他角色,并且通常几乎无法读取。