在编程中,您可以使用此关键字
this.Textbox
或只是
Textbox
最佳做法是什么?
我可以看到的一些好处是,使用它可以更容易地在intellisense中查看,并且更容易理解它是属性。
目前我不使用这个......我在某处读到了某篇文章,该文章删除了所有引用,但我不记得原因。
使用此关键字有哪些优缺点?
答案 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。前缀!
因此,除非如此,扩展方法的使用才是透明的。通常使用资格。