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