2016-05-20 75 views
1

让我们明确:我不是在寻找意见,而是一个答案,如果可能的话,实际记录的来源或参考。C#和VB类私有变量命名实践和“_”字符

  • 创建私有变量字段:(?最好从MSDN的东西)

在.NET中创建一个类时,其基本结构我按照沿行去。

  • 使用get/set定义类属性。
  • 创建构造函数。
  • 为数据库功能添加额外的类方法。
  • 其他功能。
  • 我如何来命名我的私有变量:

    private string _myString; 
    

    如何目前的名字我的私有变量:

    private string iMyString; 
    

    有人告诉我,使用“_”字符的私变量声明有负面影响。然后我改变了我的习惯以使用“我”字符。我发现对这些声明使用相同的字符有助于创建类属性的速度和整体开发时间。

    我的问题是:什么是类私有变量命名结构的行业标准?而且,为什么使用“_”字符被认为是不好的做法?

    我已经做了相当多的谷歌搜索,甚至在MSDN网站上我看到的网页有他们的例子经常变化,因此不一致。

    我不确定这是否被认为是一个问题,但我倾向于练习高质量的代码。

    +6

    [“关于标准的好处是,您有太多的选择。”](https://en.wikiquote.org/wiki/Andrew_S._Tanenbaum) - 没有行业标准。只有意见...我会问使用下划线有什么“负面影响”?我一直都在使用它们。 –

    +0

    据我所知,使用下划线没有坏处。比您决定要做的更重要的是确保您的标准集以一致的方式使用。 – juharr

    +1

    如果您使用“自动实施”属性,则不再需要为属性备份字段和getter/setter。编译器为你提供了一个隐含的'_propName'变量(所以一个前导'_'它不可能太糟糕)。比VB和C​​#发散之后。 VB允许你在任何地方访问隐式字段,而隐藏在C#中。 BTW [本身](https://en.wikipedia。org/wiki/Per_se) – Plutonix

    回答

    2

    .NET foundation coding style guidelines

    我们使用_camelCase内部和私人领域和使用readonly在可能的情况。前缀为_的实例字段,带有s_的静态字段以及带有t_的线程静态字段。