【问题标题】:To "this" or not to "this" in C#? [duplicate]在 C# 中使用“this”还是不使用“this”? [复制]
【发布时间】:2009-06-26 18:09:48
【问题描述】:

可能的重复:
When do you use the “this” keyword?
Best practices for using the ‘this’ keyword in C#

我有一个关于 this 关键字的样式问题。为了清楚起见,在类中自引用自动实现的属性或方法时,您是否使用 this

例如,在您的构造函数中,您是否将参数赋值写为:

public class Foo
{
    public string FooProperty { get; set; }
    public Foo(string fooProperty)
    {
        this.FooProperty = fooProperty;
    }
    ...
}

或为:

public class Foo
{
    public string FooProperty { get; set; }
    public Foo(string fooProperty)
    {
        FooProperty = fooProperty;
    }
    ...
}

【问题讨论】:

标签: c# .net coding-style


【解决方案1】:

恕我直言,这是一个非常有用的关键字。一旦我看到“this”,我就知道它是一个类变量。否则,我将不得不检查它是否是一个参数,一个在方法中声明的变量。 “这个”节省时间:)(模棱两可的玩笑呵呵)

【讨论】:

  • +1 我想知道的一件事是为什么很多人甚至一些代码分析工具都建议不要使用“this”。
  • 是的,我开始认为这也是明智的做法。我习惯在所有类变量和属性(当然不是方法!)上使用关键字,因为它比下划线前缀更优雅。
  • 例如,使用“m_”之类的前缀命名成员变量会更容易。
  • 使用“m_”有一些问题。它使代码变得更脏,并且要求阅读代码的人知道这种约定(更高的学习曲线)。任何看到“这个”的人都会立即知道这意味着什么(希望如此)
  • 这就是为什么我使用 IDE 为我突出显示属性的原因:P 称我为菜鸟,但我宁愿拥有干净的代码和先进的工作环境,而不是复杂的命名约定和硬眼着色。
猜你喜欢
  • 1970-01-01
  • 2013-05-13
  • 2011-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-18
  • 2011-01-28
相关资源
最近更新 更多