【发布时间】:2013-10-27 03:20:36
【问题描述】:
我在 C# 中遇到了一个方法
int Func(Contact @group)
{
group.Name = "";
}
“@”是什么意思?
【问题讨论】:
-
"@" 允许使用关键字作为标识符
-
大概你的第二行应该是
@group.Name = "";
标签: c# methods parameters
我在 C# 中遇到了一个方法
int Func(Contact @group)
{
group.Name = "";
}
“@”是什么意思?
【问题讨论】:
@group.Name = "";
标签: c# methods parameters
它用于转义关键字,因此您可以使用名为@class 或类似名称的参数,否则会导致语法错误。
查看规范的相关部分:2.4.2 Identifiers
前缀“@”允许使用关键字作为标识符,这在与其他编程语言交互时很有用。字符 @ 实际上不是标识符的一部分,因此标识符在其他语言中可能被视为普通标识符,没有前缀。带有@ 前缀的标识符称为逐字标识符。允许对不是关键字的标识符使用 @ 前缀,但出于风格考虑,强烈建议不要这样做。
【讨论】:
我相信它是一个字面变量。
int、double等关键字不能用作变量名,但可以用@符号绕过:
var int = 3; //compile error
var @int = 3; //okay
【讨论】: