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


public class ThisName


{
public string name = "張三";
public int num = 55;
public ThisName() { }
public void GetThisName(string name, int num)
{
name = this.name;//調(diào)取全局變量name
num = this.num;//調(diào)取全局變量num
HttpContext.Current.Response.Write("參數(shù)name的值為:"+name+";參數(shù)num的值為:"+num);//輸出結(jié)果為"參數(shù)name的值為張三;參數(shù)num值為:55"
}
}
2、將對(duì)象作為參數(shù)傳遞到別的方法中


public class ThisFF


{
public ThisFF()
{ 
}
public string shuju()
{
return "This指針當(dāng)做方法傳遞";
}

public void f1(ThisFF ff)
{
HttpContext.Current.Response.Write(ff.shuju());
}

public void f()
{
f1(this);//this在這里可以理解為 ThisFF ff=news ThisFF();當(dāng)前類的實(shí)例
}
}

ThisFF ff=news ThisFF();//方法實(shí)例
ff.f();//調(diào)用方法 輸出結(jié)果為: This指針當(dāng)做方法傳遞
3、聲明索引器
二、C#中this的總結(jié)
1、this關(guān)鍵字引用被訪問(wèn)成員所在的當(dāng)前實(shí)例。靜態(tài)成員函數(shù)沒(méi)有this指針。this關(guān)鍵字可以用來(lái)從構(gòu)造函數(shù),實(shí)例方法和實(shí)例化訪問(wèn)器中訪問(wèn)成員。 不能在靜態(tài)方法。靜態(tài)屬性訪問(wèn)器或者域聲明的變量初始化程序中使用this關(guān)鍵字,這將會(huì)產(chǎn)生錯(cuò)誤。
2、在類的構(gòu)造函數(shù)中出現(xiàn)的this作為一個(gè)值類型表示對(duì)正在構(gòu)造的對(duì)象本身的引用。
3、在類的方法中出現(xiàn)this作為一個(gè)值類型表示對(duì)調(diào)用該方法的對(duì)象的引用。
4、在結(jié)構(gòu)的構(gòu)造函數(shù)中出現(xiàn)的this作為一個(gè)變量類型表示對(duì)正在構(gòu)造的結(jié)構(gòu)的引用。
5、在結(jié)構(gòu)的方法中出現(xiàn)的this作為一個(gè)變量類型表示對(duì)調(diào)用該方法的結(jié)構(gòu)。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注