国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

漫談C#之關(guān)鍵字

2019-11-14 16:32:47
字體:
供稿:網(wǎng)友

    每一種語言都有非常多的關(guān)鍵字,而且這些關(guān)鍵字也都大同小異,不過畢竟還是有些許的不一樣。有些關(guān)鍵字大家碰到的多了,自然就熟悉了,但是有些關(guān)鍵字用得不大多,或者是新引入的,所以就不大熟悉了。我平常在用的時(shí)候,就是會(huì)碰到一些關(guān)鍵字,感覺有點(diǎn)生疏,平常也會(huì)把這些我不懂的關(guān)鍵字的用法了解一下并記錄下來。想到應(yīng)該也有很多跟我同樣的人,所以就把我的記錄跟大家分享一下。請(qǐng)各位tx多多指正! 訪問關(guān)鍵字     base:用于派生類中訪問基類的成員

  • 調(diào)用基類上已被其他方法重寫的方法

    1 public override void GetInfo() 2 { 3 base.GetInfo(); // 調(diào)用基類上的GetInfo方法 4 }

  • 指定創(chuàng)建派生類實(shí)例時(shí)應(yīng)用的基類構(gòu)造函數(shù)

    1 public MyDerived() : base() // 調(diào)用基類的構(gòu)造函數(shù) 2 {}

    從靜態(tài)方法中使用base關(guān)鍵字是錯(cuò)誤的。
轉(zhuǎn)換關(guān)鍵字 explicit:用于聲明用戶定義的顯式類型轉(zhuǎn)換運(yùn)算符

1 class MyType 2 { 3 public static explicit Operator MyType(int i) 4     { 5 // 從int轉(zhuǎn)換到MyType類型的代碼 6     } 7 }

顯式轉(zhuǎn)換運(yùn)算符必須通過類型轉(zhuǎn)換調(diào)用

1 int i; 2 MyType x = (MyType)i; // int到MyType類型的轉(zhuǎn)換需要進(jìn)行類型轉(zhuǎn)換

    如果轉(zhuǎn)換操作可能導(dǎo)致異常或信息丟失,則應(yīng)用explicit關(guān)鍵字標(biāo)記它。     implicit:用于聲明用戶定義的隱式轉(zhuǎn)換運(yùn)算符 

1 class MyType 2 { 3 public static implicit operator int(MyType m) 4     { 5 // 從MyType轉(zhuǎn)換到int類型的代碼 6     } 7 }

1 MyType x; 2 int i = x;  // 隱式地調(diào)用MyType的MyType到int類型的轉(zhuǎn)換運(yùn)算符

隱式轉(zhuǎn)換可以通過消除不必要的類型轉(zhuǎn)換來提高源代碼的可讀性。     一般情況下,調(diào)用某一個(gè)隱式轉(zhuǎn)換時(shí),應(yīng)當(dāng)絕不會(huì)引發(fā)異常,并且不會(huì)造成信息丟失。否則,應(yīng)將其標(biāo)記為explicit。 方法參數(shù)關(guān)鍵字     如果聲明方法的參數(shù)時(shí)沒有指明ref或out,該參數(shù)將具有與該方法相關(guān)的值。這個(gè)值在方法中能被更改,但是當(dāng)程序返回到調(diào)用過程時(shí),這種改動(dòng)不會(huì)被保留。     params:用于指定在參數(shù)數(shù)目可變時(shí)帶有參數(shù)的方法參數(shù)     在方法聲明中的params關(guān)鍵字之后不允許引入任何其他參數(shù),但在其前面可以有其他參數(shù)。而且在方法聲明中只允許使用一個(gè)params關(guān)鍵字。

 1 public static void UseParams(params int[] list)  2 {  3 for(int i = 0; i < list.Length; i++)  4     {  5         Console.WriteLine(list[i]);  6     }  7 }  8  9 public static void Main() 10 { 11     UseParams(1,2,3); 12 int[] myArray = new int[3] { 10,11,12 }; 13     UseParams(myArray); 14 }

    ref、out  使方法可以引用傳遞到該方法的那一個(gè)變量,當(dāng)程序轉(zhuǎn)至調(diào)用方法時(shí),在方法中對(duì)參數(shù)所做的任何改動(dòng)都將傳給該變量。     ref參數(shù)的值將被傳遞到ref參數(shù),故必須首先初始化;而out參數(shù)不然,它的值不會(huì)被傳遞到該out參數(shù),故不必首先初始化,但它必須在方法返回以前為out參數(shù)賦值。     屬性不是變量,不能作為ref/out參數(shù)。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 拉孜县| 高淳县| 崇仁县| 德州市| 武汉市| 民县| 孟州市| 黄大仙区| 新建县| 拉孜县| 永昌县| 浦城县| 鄂尔多斯市| 泗阳县| 谷城县| 荆州市| 英超| 六枝特区| 曲水县| 沁阳市| 镇宁| 静宁县| 南康市| 大宁县| 菏泽市| 巴塘县| 五台县| 旌德县| 札达县| 常山县| 孟州市| 呼和浩特市| 应用必备| 宝山区| 阜宁县| 洱源县| 灵寿县| 海丰县| 张家口市| 启东市| 定安县|