C#自动实现的属性和局部变量的最佳实践,仅根据具体情况而有所不同?

dev*_*xer 6 c# case-sensitive

让我给你举个例子:

public class MyClass
{
    public string MyProperty { get; set; }

    public MyClass(string myProperty)
    {
        MyProperty = myProperty; // bad?
        this.MyProperty = myProperty; // good?
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经开始this在这种情况下使用,因为我有轻微的偏执,单独依赖案例可能会令人困惑,或者更糟糕的可能实际上会导致错误.

这里的"最佳实践"是什么?

编辑:

到目前为止,听起来这比我想象的要主观得多.我认为人们会在一方或另一方强烈下来.

wom*_*omp 12

this.在任何类中使用" "都是多余的.完全由您的开发商来设置使用它的标准.

使用" this." 的优点在于,一些开发人员在阅读代码时发现将更容易将其与类实例关联起来,正如您所提到的,在处理类似命名的项目时更清楚.

该缺点是,有些人认为这是搞乱你的代码文件,如果你使用的工具,如ReSharper的,它们标志着它在默认情况下为冗余代码.

  • "这"并非完全多余.如果你有一个名为"myThing"的局部变量和一个名为"myThing"的实例变量,那么"myThing"引用局部变量,"this.myThing"引用实例变量. (2认同)
  • 我发现"这个"很有用.我还使用"base"和"NameOfClass"(对于静态变量). (2认同)

San*_*nen 5

正如womp所说."这"是多余的,但它使代码更容易阅读.或者更难以误读.