当前位置:  开发笔记 > 编程语言 > 正文

为什么添加@符号可以使这个工作?

如何解决《为什么添加@符号可以使这个工作?》经验,为你挑选了1个好方法。

我正在使用asp.net mvc并创建一个表单.我想在form标签中添加一个class属性.

我在这里找到了一个添加enctype属性并尝试与类交换的示例.访问视图时出现编译错误.

然后我找到了一个例子,有人在属性名称的开头添加@符号并且有效.伟大的它是有效的,但我是一个需要知道原因,快速的谷歌搜索没有帮助.我知道C#允许在字符串前加上@来忽略转义字符.为什么它在这种情况下有效?@告诉编译器什么?

产生编译错误的代码?

 <% Html.BeginForm("Results", "Search", 
    FormMethod.Get, new{class="search_form"}); %>

有效的代码:

 <% Html.BeginForm("Results", "Search", 
    FormMethod.Get, new{@class="search_form"}); %>

Erik Forbes.. 37

在C#中,"class"是保留关键字 - 在保留关键字的前面添加"@"符号允许您将关键字用作标识符.

这是一个直接来自C#规范的例子:

class @class {
    public static void @static(bool @bool) {
        if (@bool) System.Console.WriteLine("true");
        else System.Console.WriteLine("false");
    }
}

注意:这当然是一个例子,不推荐练习.



1> Erik Forbes..:

在C#中,"class"是保留关键字 - 在保留关键字的前面添加"@"符号允许您将关键字用作标识符.

这是一个直接来自C#规范的例子:

class @class {
    public static void @static(bool @bool) {
        if (@bool) System.Console.WriteLine("true");
        else System.Console.WriteLine("false");
    }
}

注意:这当然是一个例子,不推荐练习.

推荐阅读
跟我搞对象吧
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有