我只在本地路径中使用@ symbol,但是什么时候才能使用@呢?
发布于 2009-06-29 12:03:40
AFAIK,你可以在任何你不想保留事物的默认含义的地方使用@。例如,@class将使class成为标识符。@bool将使bool成为标识符而不是关键字。
你知道@ before字符串的用法。它用于指示按字面意思处理字符串的所有文本,不特殊对待字符串中的任何字符。
编辑:是的,另一件事是@Keyword
被编译成了IL中的Keyword
。
See this Link获取更多详细信息。
发布于 2009-06-29 12:08:50
逐字字符串
在C#中,字符串文字前的@
表示verbatim string。在逐字字符串中,只有引号转义序列(""
)被解析为转义序列;所有其他序列,例如\n
、\t
等都被忽略。
您将看到这种语法用于文件路径等,因为让编译器忽略路径中的反斜杠是很方便的,而不必对它们进行双重转义,例如
var s = @"c:\Some\File\Path.txt";
比起它更容易阅读
var s = "c:\\Some\\File\\Path.txt";
保留字
您还可以使用@
作为identifiers的前缀,以便允许在标识符中使用保留字。例如,可以使用@class
作为标识符,而不允许使用class
。在这个特定的例子中,与klass
或clazz
的常规约定相比,@class
没有那么不协调(至少,我发现),这两种约定通常用于在其他语言中绕过这一限制。
发布于 2009-07-02 08:06:26
如果要将关键字用作变量名
string @string = "Hi";
https://stackoverflow.com/questions/1057926
复制相似问题