C#の「this」とは、メソッドが呼び出されたときに、そのメソッドのインスタンスの参照を「this」で表せます。
thisの構文
class クラス名
{
型 変数名;
アクセス修飾子 メソッド名() //メソッド
{
this.変数名 = 値;
}
}
メソッドが呼び出されると「this」は、そのメソッドのクラスのインスタンスの参照を表します。
この場合の「this」は「クラス名」がインスタンスの参照になります。
thisの例
using System;
namespace ConsoleApplication1
{
class Program
{
int a;
private void Test1()
{
this.a = 1; //thisの参照オブジェクトはProgram
}
static void Main()
{
Program obj = new Program();
obj.Test1();
Console.WriteLine("{0}", obj.a);
Console.ReadLine(); //キーを押すまでコマンドプロントを終了させない
}
}
}
まず、Programクラスの参照オブジェクト「obj」を作成します。
次に「obj.Test1();」で「Test1メソッド」にアクセスして「a」に1を代入します。
「Console.WriteLine(“{0}”, obj.a);」を実行するとコマンドプロントに「1」と表示されます。
本来「this.a」は自動的に参照が「Programクラス」になるので、「this」を書かなくてもいいのですが、今回は説明の為に書いてみました。