在c#中使用此关键字的优缺点

时间:2011-03-05 15:51:21

标签: c# asp.net this

在编程中,您可以使用此关键字

this.Textbox

或只是

Textbox

最佳做法是什么?

我可以看到的一些好处是,使用它可以更容易地在intellisense中查看,并且更容易理解它是属性。

目前我不使用这个......我在某处读到了某篇文章,该文章删除了所有引用,但我不记得原因。

使用此关键字有哪些优缺点?

5 个答案:

答案 0 :(得分:3)

系统地使用this意味着当你想要this的成员时,你不会陷入引用局部变量的陷阱。

缺点:使用this将使您的代码更加详细。

这完全取决于个人偏好。

答案 1 :(得分:0)

唯一的缺点是它打字更多。使用this(特别是一致)也会排除,例如,当您打算使用属性时使用参数,例如一个方法f(Textbox textbox) => {textbox = textbox},当你想说this.Textbox = textbox.时,不断地使用它不仅使得它不可能这样做,而且在你可能的时候也能让它脱颖而出。

答案 2 :(得分:0)

我更喜欢省略this.,因为它更少打字,更少杂乱,只在必要时才使用它,否则标识符会不明确。

作为旁注,我喜欢在Cobra中处理成员访问的方式。它要求它们以.(或_为私有)作为前缀。所以你要使用.member=parameter。第一个显然是成员,第二个是局部变量。一种优雅的方式来消除歧义而不会变得冗长。

答案 3 :(得分:0)

这是一个偏好的问题,真的。有时您必须使用this关键字,例如:

private string Foo;
public void Bar(string Foo)
{
    this.Foo = Foo;
}

没有this会导致参数只是将自己设置为自身的错误。它不那么冗长,但有些人可能会说它也不太清楚(因此偏好)。

答案 4 :(得分:0)

我刚刚开始删除它。来自代码库的资格证明,结果是:

扩展方法必须带有this。前缀!

因此,除非如此,扩展方法的使用才是透明的。通常使用资格。