this キーワードは、現在のクラスのインスタンスを指しています。
this キーワードをつけると
メソッドの引数名とメンバー変数名がかぶっていてもエラーになりません。
つけないと、どっちがどっちかわからないので自分自身に代入しています的なエラーになります。
かぶっていなければ、つけなくても大丈夫です。
ただ、かぶっているのはthisをつけ、かぶっていないのはつけないとすると、統一感が・・・
見た目的に?になるので、その辺は・・・個人の性格や主義主張な気がします。
あとは
現在のクラスのインスタンスをメソッドの引数に渡す場合に使います。
control.run(this);
のような感じです。
サンプル
メンバー変数に引数の値を代入する例と現在のインスタンスをメソッドで渡す例をサンプルで作成しました。
プログラミング
言語:C#
/// <summary>
/// 自動車クラス
/// </summary>
public class Car
{
// 自動車名
← メンバー変数
private string carName;
// 自動No
← メンバー変数
private string carNo;
// コンストラクタ
public Car(string carName, string carNo)
{
// 自動車の名前とNo(メンバー変数)に引数の名前とNoをセットする。
this.carName = carName;
this.carNo = carNo;
// コントロールに自動車(インスタンス)を渡す
Control control = new Control();
control.run(this);
}
}
/// <summary>
/// コントロールクラス
/// </summary>
public class Control
{
/// <summary>
/// 実行
/// </summary>
/// <param name="car"></param>
public void run(Car car)
{
}
}