在C#中使用@的最佳实践

Sco*_*ies 8 c# keyword

在阅读有关C#的书时,我遇到了使用@来"重载"或使用C#关键字作为标识符的代码.我猜这不是一个好习惯,因为它会导致歧义.我是否正确地想到这一点,或者有时候应该使用它?

Mar*_*ell 18

实际上,几乎总是值得避免这种情况.它可能有用的主要有效时间是处理具有恰好是C#关键字的类/ etc的外部库(来自另一种语言),但我承认我从未遇到过这个问题.它有助于C#允许您在覆盖/实现接口时重命名方法参数名称,以避免一组常见的情况.

另一种(可以说是懒惰的)用法是代码生成; 如果你总是用@theName为字段/变量/ etc添加前缀,那么你不必担心特殊情况.就个人而言,我只是反复核对C#关键字/上下文关键字列表,并添加类似下划线的内容.

@符号的其他用法(逐字字符串文字)是@"更有用".

  • "\\是\\非常有用"@"不要\你认为?" (3认同)

Dav*_*vid 17

我在asp.net MVC Views中使用它,你在那里使用HtmlHelper定义一个css类.

<%= Html.TextBox("Name", null, new { @class = "form-field" }) %>
Run Code Online (Sandbox Code Playgroud)