这个代码示例中的@是什么意思?

时间:2008-11-12 16:40:00

标签: c# .net variables keyword variable-names

Html.TextBox("ParentPassword", "", new { @class = "required" })

对于@class来说,什么是gosh darned heck是@。

3 个答案:

答案 0 :(得分:20)

class是保留关键字,因此您不能将其用作变量名。

@运算符允许您绕过此规则。这里完成的原因是匿名对象用于填充HTML元素的属性。有效的属性名称是“class”,它允许您在元素上设置CSS类。

答案 1 :(得分:8)

class是一个关键字。要使用class作为变量/属性的名称,可以在C#中将@添加到@class。在IL中,对于所有.net而言,变量/属性的名称仍为class - @是您在C#中执行此操作的方式。

答案 2 :(得分:7)

在这里加上我的两分钱给所有正确的答案:

如果你是C#的新手但对VB.NET很熟悉,你可能知道VB中有一个@的通讯员。方括号[]在VB.NET中用于包围以保留字(或关键字)命名的变量名。例如:

Dim [String] As String