1. ホーム
  2. c#

[解決済み】"this "キーワードはいつ使う?[クローズド]

2022-04-02 06:02:17

質問

を他の人がどのように使っているのか気になりました。 これ というキーワードがあります。私はコンストラクタで使用することが多いですが、クラス全体を通して他のメソッドで使用することもあります。いくつか例を挙げます。

コンストラクタで

public Light(Vector v)
{
    this.dir = new Vector(v);
}

その他の場所

public void SomeMethod()
{
    Vector vec = new Vector();
    double d = (vec * vec) - (this.radius * this.radius);
}

解決方法は?

にはいくつかの使い方があります。 この キーワードを使用します。

  1. 似たような名前で隠されたメンバを修飾する
  2. オブジェクトを他のメソッドにパラメータとして渡すことができます。
  3. オブジェクトがメソッドから自身を返すようにする
  4. インデクサを宣言する
  5. 拡張メソッドを宣言する
  6. コンストラクタ間でパラメータを受け渡しする
  7. 内部で値型(構造体)の値を再割り当てする場合 .
  8. 現在のインスタンスで拡張メソッドを呼び出すには
  9. 自分自身を別の型にキャストする
  10. 同じクラスで定義されたコンストラクタを連鎖させる

一般的な命名規則に従い、ローカル変数(同じくキャメルケース)との衝突を避けるためにフィールド(キャメルケース)の代わりにプロパティ(パスカルケース)を使用するなど、同名のメンバー変数とローカル変数をスコープ内に置かないようにすれば、最初の使い方を回避することができます。C# 3.0では、フィールドをプロパティに簡単に変換することができます。 自動実装のプロパティ .