this關鍵字的作用是解決當傳入引數的名稱和資料字段的名稱,型別完全相同時產生的作用於歧義,一般情況下我們應該避免產生重名的習慣
先來演示下:
class airplane呼叫上面的類例項}
airplane fly = new airplane();編譯上面**時候,vs會給出警告,並且fly.name欄位的內容為空。我們通過setderivername給資料成員name欄位賦值根本無效;問題在於編譯器認為賦值號右邊的name指向當然方法作用域內的變數,而不是類作用域中的字段。要想讓編譯器知道賦值號右邊的name是準備賦值給類資料成員name欄位的,可以使用this關鍵字解決這個問題,只需在資料成員前使用this關鍵字即。事實上this是可選的,當不存在重名時候,根本不需要使用thisfly.setderivername("jack");
console.writeline("駕駛員的名字是:", fly.name);
當我們使用this之後,vs的智慧型感知,自動的識別出this.name 就是public string name中的name欄位
用this串聯建構函式
this的另乙個用法是用來串聯建構函式,用法如下:
public airplane()public airplane(int currage)
age = currage;
}public airplane(int currage, string name)
age = currage;
this.name = name;
}
public airplane()public airplane(int currage)
: this(currage, "")
public airplane(int currage, string name)
age = currage;
this.name = name;}}
C this關鍵字用法
這個關鍵字引用類的當前例項,並且也用作擴充套件方法第乙個引數的修飾符 public employee string name,string alias calctax this public intthis int param set 靜態成員函式存在於類級別,並且不作為物件的一部分,所以沒有thi...
C this關鍵字的用法
msdn中的小結功能主要包括 1 限定被相似的名稱隱藏的成員 2 將物件作為引數傳遞到其他方法 3 宣告索引器 this指代類物件本身,用於訪問本類的所有常量 字段 屬性和方法成員,而且不管訪問元素是任何訪問級別。因為,this僅僅侷限於物件內部,物件外部是無法看到的,這就是this的基本思想。另外...
C this關鍵字詳解
紙上得來終覺淺,絕知此事要躬行!1 這裡解決了當傳入引數的名稱和類字段同名時造成的歧義,可以使用this關鍵字來自制定指定當前類欄位名稱賦值,否則會出現下圖提示,而且當你呼叫下圖建構函式,會發現輸出name的值為空。2 在類的定義內的方法,呼叫當前類例項成員,可以使用this關鍵字代替當前的例項物件...