C 中this的用法,你用過幾種? 含原始碼示例

2021-06-05 22:58:55 字數 3394 閱讀 6374

this用法1:限定被相似的名稱隱藏的成員

///

/// /*  this用法1:限定被相似的名稱隱藏的成員 */ 

///

///

public person(string name, string ***) 

this.name = name; 

this.*** = ***; 

this用法2:將物件作為引數傳遞到其他方法

///

///person 的摘要說明 

///

public class person 

///

/// 姓名 

///

public string name  

///

/// /* this用法2:將物件作為引數傳遞到其他方法 */ 

///

public void showname() 

helper.printname(this); 

///

/// 輔助類 

///

public static class helper 

///

/// 列印人名 

///

///

public static void printname(person person) 

httpcontext.current.response.write("姓名:" + person.name + "

"); 

this用法3:宣告索引器

///

/// 其它屬性 

///

public namevaluecollection attr = new namevaluecollection(); 

///

/// /* this用法3:宣告索引器 */ 

///

///

///

public string this[string key] 

setattr[key] = value; 

getreturn attr[key]; 

this用法4:擴充套件物件的方法

///

///person 的摘要說明 

///

public class person 

///

/// 輔助類 

///

public static class helper 

///

/// /* this用法4:擴充套件物件的方法 */ 

///

///

///

public static string get***(this person item) 

return item.***; 

呼叫:person person = new person(); 

person.get***();

四種用法完整**如下:

show sourceusing system; 

using system.collections.generic; 

using system.web; 

using system.collections; 

using system.collections.specialized; 

///

///person 的摘要說明 

///

public class person 

///

/// 姓名 

///

public string name  

///

/// 性別 

///

public string ***  

///

/// 其它屬性 

///

public namevaluecollection attr = new namevaluecollection(); 

public person() 

///

/// /*  this用法1:限定被相似的名稱隱藏的成員 */ 

///

///

public person(string name, string ***) 

this.name = name; 

this.*** = ***; 

///

/// /* this用法2:將物件作為引數傳遞到其他方法 */ 

///

public void showname() 

helper.printname(this); 

///

/// /* this用法3:宣告索引器 */ 

///

///

///

public string this[string key] 

setattr[key] = value; 

getreturn attr[key]; 

///

/// 輔助類 

///

public static class helper 

///

/// /* this用法4:擴充套件物件的方法 */ 

///

///

///

public static string get***(this person item) 

return item.***; 

///

/// 列印人名 

///

///

public static void printname(person person) 

httpcontext.current.response.write("姓名:" + person.name + "

"); 

呼叫示例:

show source//this用法1示例 

person person = new person("小她", "女"); 

//this用法2示例 

person.showname(); 

//this用法3示例 

person["height"] = "175cm"; 

response.write("身高:" + person["height"] + "

"); 

person["weight"] = "110kg"; 

response.write("體重:" + person["weight"] + "

"); 

//this用法4示例 

response.write("性別:" + person.get***() + "

");由於時間關係,就不說太多,如有不足之處,懇請大家批評指正。

摘自:零星碎事 

c 中「?」的幾種用法

c 中 的幾種用法 1 可空型別修飾符 如 a b表示如果a為null則返回b,否則返回a 2 三元運算子 如 bool f false return f true?1 0 如果f為true則返回1,否則返回0 3 空合併運算子 如 a?b 當a為null時則返回b,a不為null時則返回a本身 a...

C 中 new的幾種用法

今天看到乙個朋友問到c 的new關鍵字有幾種用法,現將從網上摘抄彙總資料到本站,以供大家查閱 1 new運算子 用於建立物件和呼叫建構函式。2 new修飾符 用於隱藏基類成員的繼承成員。3 new約束 用於在泛型宣告中約束可能用作型別引數的引數的型別。new運算子 1.用於建立物件和呼叫建構函式 例...

C 中new的幾種用法

1 new 運算子 用於建立物件和呼叫建構函式。2 new 修飾符 用於隱藏基類成員的繼承成員。3 new 約束 用於在泛型宣告中約束可能用作型別引數的引數的型別。new 運算子 1.用於建立物件和呼叫建構函式 例 class test myclass new class test 2.也用於為值型...