在C#中,'@'符号有什么作用?

3

我刚刚去写那一行...

if (!e.PeriodicData.Keys.Contains(process))
{
}

但是在感叹号"!"上打错了一个字母,按下了"@"键。例如。
if (@e.PeriodicData.Keys.Contains(process))
{
}

我原本以为智能感知会出问题,但实际上没有。所以我进行了编译,而且编译成功了。
它不是一个操作符,那么"@"又是什么?它是做什么的?
2个回答

9

2
话虽如此,不要这样做。使用关键字作为变量名会非常令人困惑。 - Joe
1
在某些情况下,这是不可避免的 - 特别是对于需要HTML属性的MVC的HtmlHelpers。 - Daniel A. White
像这样的答案是你应该投票将问题标记为重复的一个非常好的迹象。我不太确定你为什么没有这样做;你似乎没有提供除其他问题答案中给出的信息之外的任何信息。 - Cody Gray

7
在这种情况下,只是获取变量e。它相当于e
如果要使用保留字作为变量,可以在变量前加上@符号,例如要调用变量class
var @class = 1;
var @virtual = 2;
var @return = 3;

对于字符串,它使用字面值,例如:

"C:\\test\\example\\"

等同于

@"C:\test\example\"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接