1 用于区分指定对象的成员,属性,以及方法。
例如:
Class MyCLass
{
int var1= 10;
public int ReturnMaxSum(int var1)
{
return var1>this.var1 ? var1:this.var1;
}
}
Class Program
{
static void Main()
{
MyClass mc= new MyClass();
Console.WriteLine($"MAX:{MC.ReturnMaxSum(30);
Console.WriteLine($"MAX:{MC.ReturnMaxSum(5);
}
2、索引器的使用
Return Type this[Type param1....]
get
{
}
set
{
}
例如 索引器的案例
Class Employee
{
public string LastName;
public string FristName;
public string CityOfBirth;
public string this[int index]
{
set
{
switcch (index)
{
case 0;LastName=value;
break;
case 1;FristName=value;
break;
case 2;CityOfBirth=value;
break;
defult:
throw new ArgumentOutOfRange("index");
}
get
{
switch(index)
{
case 0;return LastName;
case 1;return FristName;
case 2;return CityOfBirth;
}
}
}
3、用this关键字串联默认的构造函数
public class Test
{
public Test()
{
Console.WriteLine("无参构造函数");
}
// this()对应无参构造方法Test()
// 先执行Test(),后执行Test(string text)
public Test(string text) : this()
{
Console.WriteLine(text);
Console.WriteLine("有参构造函数");
}
}
4、可以用this来做为参数状当前实例做为参数传入方法.
public class ThisFF
{
public ThisFF()
{
}
public string shuju()
{
return "This指针当做方法传递";
}
public void f1(ThisFF ff)
{
HttpContext.Current.Response.Write(ff.shuju());
}
public void f()
{
f1(this);//this在这里可以理解为 ThisFF ff=news ThisFF();当前类的实例
}
}
ThisFF ff=news ThisFF();//方法实例
ff.f();//调用方法 输出结果为: This指针当做方法传递