'@'在c#中做了什么?

DJA*_*DJA 3 c# syntax

我刚开始写线...

if (!e.PeriodicData.Keys.Contains(process))
{
}
Run Code Online (Sandbox Code Playgroud)

但在"!"上做了一个错字 然后点击"@".例如

if (@e.PeriodicData.Keys.Contains(process))
{
}
Run Code Online (Sandbox Code Playgroud)

我期待intellisense翻转,但事实并非如此.所以我编译并成功编译.

它不是运营商,那么什么是"@"?它有什么作用?

Dan*_*ite 9

在这种情况下它是一个有效的名称.如果要将关键字用作变量名,则使用它@class.

请参阅:在C#变量名称前面放置@有什么作用?

  • 话虽这么说 - 不要这样做.将关键字用作变量名称会格外混乱. (2认同)

Bru*_*oLM 6

在这种情况下,它只是获取变量e.它相当于e.

@如果要调用变量class,则使用var之前的符号.使用保留字作为变量.

var @class = 1;
var @virtual = 2;
var @return = 3;
Run Code Online (Sandbox Code Playgroud)

至于字符串,它使用文字,例如:

"C:\\test\\example\\"
Run Code Online (Sandbox Code Playgroud)

相当于

@"C:\test\example\"
Run Code Online (Sandbox Code Playgroud)