做这个.减慢代码?

leo*_*ora 2 c# coding-style

我们有(永无止境的)下划线前缀与成员变量没有下划线前缀辩论,有人提到你使用"这个".而不是" - ",由于".",您的代码会变慢.在"这个." 这是真的,任何人都可以量化吗?

The*_*edi 27

不,这完全没有意义.只要看一下IL,就把那个开发人员踢进去吧.

还有FWIW,我喜欢成员变量中的下划线.

  • 如果您的编辑器无法对与成员不同的本地人进行着色,则需要一个新的编辑器.任何人类惯例都是错误的,并且是对不适当工具的愚蠢补偿. (9认同)
  • maaaan ...下划线?:p我从来都不喜欢下划线时期..很久以前我甚至不知道计算机编程是什么! (4认同)
  • 我同意除了下划线.我恨他们.我认为它们使得阅读更难(尽管如果你不使用它,intellisense可以更容易导航.) (4认同)
  • 下划线前缀非常棒.我发现它可以很容易地区分本地人和成员. (4认同)
  • 我同意下划线.我所有的班级私人成员都有下划线.它将变量带到intellisense列表的顶部,并将它们与变量本地方法级别变量分开. (3认同)

ben*_*wey 5

使用此关键字时似乎没有区别.如果您有以下代码:

class Class3
{
    private long id;

    public void DoWork()
    {
        id = 1;
        this.id = 2;
    }
}
Run Code Online (Sandbox Code Playgroud)

当您通过反射器运行它时,您将看到以下输出:

internal class Class3
{
    // Fields
    private long id;

    // Methods
    public void DoWork()
    {
        this.id = 1L;
        this.id = 2L;
    }
}
Run Code Online (Sandbox Code Playgroud)


Mat*_*man 5

在我看来"这个".在编译时是一个消歧者.它告诉编译器变量的范围.这可能是不必要的,因为编译器在任何情况下都需要确定范围.但我无法想象有任何性能下滑,甚至可能是"暗示"的微观上行.

一旦代码被编译(即在运行时),我想象"这个".完全无关紧要.

所以这是一种风格选择.有些人更喜欢简洁.我喜欢这个." 因为正确使用会增加清晰度.它告诉其他开发人员功能或属性的存在.我将它用于任何公共方法或财产.我通常不会将它与私人会员一起使用.

Juval Lowy在这里有一个非常好的C#风格指南:http://www.idesign.net/