这段代码中的@符号是什么意思?

6

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

@class是为了避免与C#中的关键字“class”发生冲突而使用的符号。

那个@符号到底是干嘛用的?

3个回答

20

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

@ 操作符允许您绕过此规则。这里这样做的原因是匿名对象用于填充 HTML 元素上的属性。有效的属性名称是 "class",它允许您设置元素上的 CSS 类。


8

class是一个关键字。在C#中,如果要将class作为变量/属性的名称使用,可以在其前面加上@,如@class。对于所有的.NET应用程序而言,在IL中,变量/属性的名称仍然是class - 在C#中,你必须这样做。


7

在所有正确的答案中,我想再补充一点:

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

Dim [String] As String

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接