日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
C#explicti和implicit詳解

C#語(yǔ)言有很多值得學(xué)習(xí)的地方,這里我們主要介紹C# explicti和implicit,包括介紹隱式轉(zhuǎn)換可以讓我們的代碼看上去更漂亮、更簡(jiǎn)潔易懂等方面。

C#explicti和implicit的含義

◆C# explicti和implicit屬于轉(zhuǎn)換運(yùn)算符,如用這兩者可以讓我們自定義的類型支持相互交換

◆explicti表示顯式轉(zhuǎn)換,如從 A -> B 必須進(jìn)行強(qiáng)制類型轉(zhuǎn)換(B = (B)A)

◆implicit 表示隱式轉(zhuǎn)換,如從 B -> A 只需直接賦值(A = B)

隱式轉(zhuǎn)換可以讓我們的代碼看上去更漂亮、更簡(jiǎn)潔易懂,所以***多使用implicit運(yùn)算符。不過(guò)!如果對(duì)象本身在轉(zhuǎn)換時(shí)會(huì)損失一些信息(如精度),那么我們只能使用 explicti運(yùn)算符,以便在編譯期就能警告客戶調(diào)用端。

示例:

 
 
 
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4.  
  5. namespace Example23
  6. {
  7. class Program
  8. {
  9. //本例靈感來(lái)源于大話西游經(jīng)典臺(tái)詞“神仙?妖怪?”--主要是我實(shí)在想不出什么好例子了
  10. class Immortal
  11. {
  12. public string name;
  13. public Immortal(string Name)
  14. {
  15. name = Name;
  16. }
  17. public static implicit operator Monster(Immortal value)
  18. {
  19. return new Monster(value.name + ":神仙變妖怪?偷偷下凡即可。。。");
  20. }
  21. }
  22. class Monster
  23. {
  24. public string name;
  25. public Monster(string Name)
  26. {
  27. name = Name;
  28. }
  29. public static explicit operator Immortal(Monster value)
  30. {
  31. return new Immortal(value.name + ":妖怪想當(dāng)神仙?再去修煉五百年!");
  32. }
  33. }
  34. static void Main(string[] args)
  35. {
  36. Immortal tmpImmortal = new Immortal("紫霞仙子");
  37. //隱式轉(zhuǎn)換
  38. Monster tmpObj1 = tmpImmortal;
  39. Console.WriteLine(tmpObj1.name);
  40.  
  41. Monster tmpMonster = new Monster("孫悟空");
  42. //顯式轉(zhuǎn)換
  43. Immortal tmpObj2 = (Immortal)tmpMonster;
  44. Console.WriteLine(tmpObj2.name);
  45.  
  46. Console.ReadLine();
  47. }
  48. }
  49. }

網(wǎng)站題目:C#explicti和implicit詳解
URL標(biāo)題:http://www.5511xx.com/article/dhpspos.html