一尘不染

C#中变量名中@字符的用途/含义是什么?

c#

我发现可以在C#中以’@’字符开头变量名。在我的C#项目中,我正在使用用Java编写的Web服务(我向项目添加了Web引用)。WSDL中定义的接口对象之一具有一个名为“
params”的成员变量。显然,这是C#中的保留字,因此您不能有一个带有成员变量的类,其名称为“ params”。生成的代理对象包含一个如下所示的属性:

public ArrayList @params {
    get { return this.paramsField; }
    set { this.paramsField = value; }
}

我搜索了VS 2008 c#文档,但找不到任何相关信息。另外,搜索Google并没有给我任何有用的答案。那么,变量/属性名称中“
@”字符的确切含义或用途是什么?


阅读 359

收藏
2020-05-19

共1个答案

一尘不染

直接来自C#语言规范标识符(C#)

前缀“
@”允许使用关键字作为标识符,这在与其他编程语言接口时非常有用。字符@实际上不是标识符的一部分,因此在其他语言中,标识符可能被视为普通标识符,没有前缀。具有@前缀的标识符称为逐字标识符。

2020-05-19