何時應該在C#類定義中使用關鍵字'this'?在私人班級成員中,關鍵字'this'的正確用法是什麼?
從類內使用「this.Method()」形式是否標準?或者只使用「Method()」?我已經看到了這兩個,通常與第二選擇,但我想了解更多關於這個問題。
何時應該在C#類定義中使用關鍵字'this'?在私人班級成員中,關鍵字'this'的正確用法是什麼?
從類內使用「this.Method()」形式是否標準?或者只使用「Method()」?我已經看到了這兩個,通常與第二選擇,但我想了解更多關於這個問題。
大部分時間它是多餘的,可以省略;有一些例外:
Foo() : this("bar") {}
this.foo = foo;
等this.SomeMethod();
(其中定義爲public static SomeMethod(this Foo foo) {...}
)Helper.DoSomething(this);
總是......只是我的2美分
我使用'this'當它變得模糊不清你所指的是什麼,它有一個局部變量與類變量/方法具有相同/相似的名稱。
但它確實是一個個人喜好的事情,只是使用你覺得是最好的。
這主要用於明確地使用類成員時單獨名稱將是模糊的,因爲在這個例子中:
public class FooBar
{
private string Foo;
private string Bar;
public void DoWhatever(string Foo, string Bar)
{
// use *this* to indicate your class members
this.Foo = Foo;
this.Bar = Bar;
}
public void DoSomethingElse()
{
// Not ambiguity, no need to use *this* to indicate class members
Debug.WriteLine(Foo + Bar);
}
}
從
除此之外,有些人喜歡前綴內部方法調用(` this.Method()'),因爲它更明顯地表明你沒有調用任何外部方法,但我不覺得它很重要。
它對所得到的程序效率或多或少沒有影響。
我95%的時間都傾向於不使用「這個」。但後來我開始懷疑我是否錯過了一些東西。我總是可以肯定在SO上澄清這些事情。 – 2009-01-26 10:27:15