为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
DIEA 2019-06-17 17:37:46
C#中变量名中@字符的用途/含义是什么?我发现您可以用C#中的“@”字符开始变量名。在我的C#项目中,我使用了一个用Java编写的Web服务(我向我的项目添加了一个Web引用)。WSDL中定义的接口对象之一有一个名为“params”的成员变量。显然,这是C#中的一个保留字,所以不能有一个名为“params”的成员变量的类。生成的代理对象包含如下属性:public ArrayList @params {     get { return this.paramsField; }     set { this.paramsField = value; }}我在VS 2008 c#文档中进行了搜索,但没有找到任何关于它的信息。此外,搜索谷歌没有给我任何有用的答案。那么,“@”字符在变量/属性名称中的确切含义或用法是什么?
查看完整描述

3 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

直接从C#语言规范标识符(C#) :

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


查看完整回答
反对 回复 2019-06-17
?
倚天杖

TA贡献1828条经验 获得超3个赞

它只允许您使用保留字作为变量名。不推荐IMHO(除非在像你这样的情况下)。


查看完整回答
反对 回复 2019-06-17
?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

在C#中,at(@)字符用于表示显式不遵守语言规范中相关规则的文字。

具体来说,它可以用于与保留关键字冲突的变量名(例如,您不能使用Params,但可以使用@params,语言规范中的out/ref/任何其他关键字也是如此)。此外,它还可以用于未转义的字符串文本;这与路径常量特别相关,例如,而不是path = "c:\\temp\\somefile.txt"你可以写path = @"c:\temp\somefile.txt"..它对于正则表达式也非常有用。


查看完整回答
反对 回复 2019-06-17
  • 3 回答
  • 0 关注
  • 973 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信