C this關鍵字用法

2022-09-15 07:06:09 字數 1101 閱讀 6364

this關鍵字的作用是解決當傳入引數的名稱和資料字段的名稱,型別完全相同時產生的作用於歧義,一般情況下我們應該避免產生重名的習慣

先來演示下:

class airplane

}

呼叫上面的類例項

airplane fly = new airplane();

fly.setderivername("jack");

console.writeline("駕駛員的名字是:", fly.name);

編譯上面**時候,vs會給出警告,並且fly.name欄位的內容為空。我們通過setderivername給資料成員name欄位賦值根本無效;問題在於編譯器認為賦值號右邊的name指向當然方法作用域內的變數,而不是類作用域中的字段。要想讓編譯器知道賦值號右邊的name是準備賦值給類資料成員name欄位的,可以使用this關鍵字解決這個問題,只需在資料成員前使用this關鍵字即。事實上this是可選的,當不存在重名時候,根本不需要使用this

當我們使用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關鍵字代替當前的例項物件...