C#“这个”过度使用?

时间:2011-02-08 21:01:24

标签: c# class this

  

可能重复:
  When do you use the “this” keyword?

我正在写一些我的第一个C#代码,我注意到this.foo仅在与foo不同的本地名称this.foo时才有必要。到目前为止,我是否一直不确定是否使用this

是首选使用this还是首选仅在必要时使用this

7 个答案:

答案 0 :(得分:5)

我只在必要时使用this。大多数时候我没有必须区分本地变量和类变量的问题,所以除非需要,否则我不会打扰

答案 1 :(得分:1)

我总是键入'this',因为它允许我使用Visual Studio的Intellisense。我不认为对于对象属性或方法的每个引用使用'this'都没有任何有意义的风格反对意见。

答案 2 :(得分:1)

这真的是一种风格问题 - 有些人总是喜欢使用this,因为当你访问一个成员变量而不是本地方法时,它会清楚地说明,有些人在名字上使用了疣同样的目的,有些人也不使用。

无论如何,对于本地方法使用与成员变量相同的名称可能是个坏主意 - 我认为它唯一合法的时候就是在构造函数或其他初始化例程中设置这些成员时。

答案 3 :(得分:0)

我更喜欢它,因为清晰。但也因为我们遵循StyleCop的规则(几乎所有:) :)。

Why does StyleCop recommend prefixing method or property calls with "this"?

答案 4 :(得分:0)

完全基于您的偏好。我个人喜欢一直使用它来强调它是一个类变量,但那只是我。

答案 5 :(得分:0)

当我想澄清我的意图时,我使用this

但通常情况下,如果将鼠标悬停在相关成员上,Visual Studio IDE将为您澄清该成员(使用弹出窗口)。这减少了对this的需求。

正如亚当指出的那样,首先键入this将仅为您智能感知本地成员,而不是为您提供整个智能感知列表。

答案 6 :(得分:0)

只是给出一个与许多“赞成这个”答案形成鲜明对比的答案......

我几乎从不使用this。我使用下划线为所有成员变量添加前缀,因此我可以轻松地将局部变量和成员变量分开。我发现使用this始终会严重污染代码并使其更加嘈杂。