C#中this指針的用法示例總結(jié)
C#中this指針的用法示例總結(jié)
一、this指針是什么:
這里有一些面向?qū)ο缶幊痰母拍钚枰f明:類(Class)的概念和對象(Object)的概念
類是對事物概括,也是C#編碼時(shí)所有代碼歸屬的基本單位;而對象是對類的實(shí)例化,也就是C#里new方法的返回值。寫代碼是不能直接用操作類,而只能先實(shí)例化類,然后我們用這個(gè)類被實(shí)例化后的對象。
通俗一些的說明是,“類”好比是“人”的概念,而我們把類實(shí)例化后,就成為單個(gè)人的“對象”,例如:“張三”。
this就是你的代碼所歸屬的“類”的實(shí)例化后的“對象”,也叫當(dāng)前對象。
二、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、將對象作為參數(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、聲明索引器
主要代碼如下:
private int _Sy; public int this[int sy] { get { return _Sy;} set { sy=_Sy;} }
三、總結(jié):
1.this關(guān)鍵字引用被訪問成員所在的當(dāng)前實(shí)例。靜態(tài)成員函數(shù)沒有this指針。this關(guān)鍵字可以用來從構(gòu)造函數(shù),實(shí)例方法和實(shí)例化訪問器中訪問成員。
不能在靜態(tài)方法。靜態(tài)屬性訪問器或者域聲明的變量初始化程序中使用this關(guān)鍵字,這將會(huì)產(chǎn)生錯(cuò)誤。
2.在類的構(gòu)造函數(shù)中出現(xiàn)的this作為一個(gè)值類型表示對正在構(gòu)造的對象本身的引用。
3.在類的方法中出現(xiàn)this作為一個(gè)值類型表示對調(diào)用該方法的對象的引用。
4.在結(jié)構(gòu)的構(gòu)造函數(shù)中出現(xiàn)的this作為一個(gè)變量類型表示對正在構(gòu)造的結(jié)構(gòu)的引用。
5.在結(jié)構(gòu)的方法中出現(xiàn)的this作為一個(gè)變量類型表示對調(diào)用該方法的結(jié)構(gòu)。
【C#中this指針的用法示例總結(jié)】相關(guān)文章:
if句型的用法總結(jié)10-24
現(xiàn)在完成時(shí)用法總結(jié)04-13
《歡慶》教案示例03-19
各種報(bào)告范文示例03-19
黨員轉(zhuǎn)正申請范文示例03-19
《司馬光》教案示例02-09
拼音中輕聲的總結(jié)03-30