成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C# explicti和implicit詳解

開發 后端
這里介紹C# explicti和implicit,對象本身在轉換時會損失一些信息(如精度),那么我們只能使用 explicti運算符,以便在編譯期就能警告客戶調用端。

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

C# explicti和implicit的含義

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

◆explicti表示顯式轉換,如從 A -> B 必須進行強制類型轉換(B = (B)A)

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

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

示例:

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Text;  
  4.    
  5. namespace Example23  
  6. {  
  7. class Program  
  8. {  
  9. //本例靈感來源于大話西游經典臺詞“神仙?妖怪?”--主要是我實在想不出什么好例子了  
  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 + ":妖怪想當神仙?再去修煉五百年!");  
  32. }  
  33. }  
  34. static void Main(string[] args)  
  35. {  
  36. Immortal tmpImmortal = new Immortal("紫霞仙子");  
  37. //隱式轉換  
  38. Monster tmpObj1 = tmpImmortal;  
  39. Console.WriteLine(tmpObj1.name);  
  40.    
  41. Monster tmpMonster = new Monster("孫悟空");  
  42. //顯式轉換  
  43. Immortal tmpObj2 = (Immortal)tmpMonster;  
  44. Console.WriteLine(tmpObj2.name);  
  45.    
  46. Console.ReadLine();  
  47. }  
  48. }  

【編輯推薦】

  1. C#靜態變量簡單分析
  2. C# sealed修飾符學習筆記
  3. C# const和static readonly區別淺談
  4. C#隱含類型局部變量淺析
  5. C#對象初始化器描述
責任編輯:佚名 來源: 博客園
相關推薦

2009-08-21 16:05:04

C#使用ref和out

2009-09-24 15:20:54

C#接口定義

2009-08-14 17:09:48

C#引用類型

2009-08-06 15:40:11

C#裝箱和拆箱

2024-09-23 16:55:18

C#代碼開發

2009-09-01 16:07:04

C#命名規約

2009-07-30 18:20:21

C#繼承

2009-08-24 11:23:41

C# TimeLabe

2009-09-07 16:13:56

C# MessageB

2009-08-13 17:04:09

C#語言C#程序

2009-08-27 16:11:03

C# delegateC# event

2009-08-25 17:13:57

C#串口編程

2009-09-02 13:15:23

C#數組復制

2009-09-02 17:12:06

C#關機代碼

2009-08-06 17:31:46

C#制作屏幕保護

2009-09-02 09:24:03

C# this關鍵字

2009-09-04 14:14:55

C#文檔

2024-03-04 18:49:59

反射C#開發

2009-09-01 10:37:51

C#項目代碼C#代碼規范

2009-08-03 13:13:52

C#調用Outlook
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: av在线免费观看网站 | 成人在线视频网址 | 欧美一区二区综合 | h视频在线免费 | 亚洲激情视频在线 | 久久乐国产精品 | 精品视频一区在线 | 免费中文字幕 | 国产在线a | 日本久久久一区二区三区 | 欧美日韩亚洲视频 | 成人妇女免费播放久久久 | 亚洲成人一区 | 日韩av一二三区 | 久艹av| 欧美日本高清 | 久久这里只有精品首页 | 91综合网 | 韩日在线观看视频 | a级毛片基地 | 国产成人综合一区二区三区 | 日韩在线视频播放 | 日韩在线播放av | 男人的天堂在线视频 | 不卡av电影在线播放 | 国产精品久久久久久 | 国产精品 亚洲一区 | 日韩精品视频网 | 高清不卡毛片 | 99精品欧美一区二区三区 | 久久精品国产亚洲 | 国产一区二区 | 天堂一区二区三区 | 日本高清中文字幕 | 日干夜干 | 欧美日韩久久久 | 日韩图区 | 亚洲精品日韩精品 | 精品国产欧美 | 成人免费看片又大又黄 | 九九热精品视频 |