Joa*_*nge 33 .net c# struct class
通常当我在一个类或一个结构体中有一个私有字段时,我使用camelCasing,所以当你看到它的名字时它显然是私有的,但是在我的一些同事的C#代码中,我看到它们使用了m_大多数或有时候_,就像有某种惯例.
.NET命名约定是否阻止您使用成员名称的下划线?
当你提到MS命名约定或不提及时,他们会告诉你他们的最佳方式,但不解释其背后的原因.
此外,当我是某些代码的所有者时,我明确地将camelCasing用于私有成员,当他们必须对代码进行微小修改时,他们会坚持他们的约定而不是遵循任何约定.
这是一个争议吗?
dev*_*xer 18
从技术上讲,下划线违反了.NET约定(或至少曾经 - 见注释线程),但Microsoft程序员自己经常使用下划线,文档中的许多示例都使用下划线.我认为能够一目了然地看到哪些变量是成员变量(字段)以及哪些是本地变量是非常有帮助的.下划线确实有助于此.它还可以很好地将私有成员变量与intellisense中的局部变量分开.
请参阅这个非常有用的.NET命名约定页面:
http://10rem.net/articles/net-naming-conventions-and-programming-standards---best-practices
这是微软官方建议的页面:
https://msdn.microsoft.com/en-us/library/ms229045%28v=vs.110%29.aspx
Jus*_*ner 12
我通常使用下划线为私有成员变量添加前缀.
它只是让您在尝试阅读代码时更容易发现它们并且Microsoft指南允许它:
public class Something
{
private string _someString = "";
public string SomeString
{
get
{
return _someString;
}
set
{
// Some validation
_someString = value;
}
}
}
Run Code Online (Sandbox Code Playgroud)
像其他人所说的那样,更重要的是要保持一致.如果你是一个拥有编码标准的团队,那就m_不要试图成为反叛者而是另一个人.这会让其他人的事情变得更加困难.