一、C# this指針的幾種用法
1、限定被相似的名稱隱藏的成員
C# 代碼
復制


public class ThisName


{
public string name = "張三";
public int num = 55;
public ThisName() { }
public void GetThisName(string name, int num)
{
name = this.name;//調取全局變量name
num = this.num;//調取全局變量num
HttpContext.Current.Response.Write("參數name的值為:"+name+";參數num的值為:"+num);//輸出結果為"參數name的值為張三;參數num值為:55"
}
} 
2、將對象作為參數傳遞到別的方法中
C# 代碼
復制


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指針當做方法傳遞 
3、聲明索引器
C# 代碼
復制


private int _Sy;


public int this[int sy]


{
get { return _Sy;}
set { sy=_Sy;}
} 
二、C#中this的總結
1、this關鍵字引用被訪問成員所在的當前實例。靜態成員函數沒有this指針。this關鍵字可以用來從構造函數,實例方法和實例化訪問器中訪問成員。 不能在靜態方法。靜態屬性訪問器或者域聲明的變量初始化程序中使用this關鍵字,這將會產生錯誤。
2、在類的構造函數中出現的this作為一個值類型表示對正在構造的對象本身的引用。
3、在類的方法中出現this作為一個值類型表示對調用該方法的對象的引用。
4、在結構的構造函數中出現的this作為一個變量類型表示對正在構造的結構的引用。
5、在結構的方法中出現的this作為一個變量類型表示對調用該方法的結構。