我在an MVC3 Razor tutorial的http://www.asp.net
看到了这一点public ActionResult Index() {
return View(_usrs._usrList);
}
这种用法不是很明显吗?我一直认为 [docs]
在C#中,我经常看到它仅在定义底层私有时使用 公共属性的成员变量。其他私有成员变量 不会有下划线。这种用法很大程度上取决于 尽管有自动属性的出现,路边。
或者这是我看到的新命名约定?对微软自己的教程中的用法非常好奇。
P.S:文章非常好。只是我倾向于遵循命名约定以提高可读性。答案 0 :(得分:33)
关于C#样式指南开发的一篇好文章在StyleCop。
.NET的原始指南是永远不要使用下划线,除非它们是私有成员变量的一部分,然后仅作为前缀,例如_customerId
。这可能是从MFC继承而来的,其中'm_'被用作成员变量的前缀。
目前的做法是根本不使用下划线。私有成员变量和具有相同名称的参数之间的消歧应该使用'this。'来完成。事实上,所有对私人成员的引用都应该以'this。'为前缀。
唯一使用下划线的地方似乎是在单元测试方法中使用了很多。我不是粉丝,但它可能使方法更具可读性,例如Throw_If_Customer_Is_Null(){...}
。
答案 1 :(得分:14)
指南在此汇总http://blogs.msdn.com/b/brada/archive/2005/01/26/361363.aspx,并包含使用“this”的规定。而不是下划线。但是我发现用“this。”来代我的代码会使代码变得更加冗长,混乱和难以理解。此外,它似乎不像下划线那么频繁,因此作为惯例,“_”似乎更为传统。
答案 2 :(得分:1)
在ASP中。 NET MVC 3下划线更常用。例如,您需要使用下划线命名所有部分视图,例如_MyPartialView
它可以在您的应用程序中轻松区分部分视图和视图。
无论如何,在这个例子中,我不喜欢唱下划线,因为没有必要使用它们。这没有错,因为使用实体的下划线列表编写是一种很好的做法。但我更愿意在没有它们的情况下写作 所以两种方式都是正确的,写下你感觉更舒服的方式。