偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

C# explicti和implicit詳解

開發(fā) 后端
這里介紹C# explicti和implicit,對(duì)象本身在轉(zhuǎn)換時(shí)會(huì)損失一些信息(如精度),那么我們只能使用 explicti運(yùn)算符,以便在編譯期就能警告客戶調(diào)用端。

C#語言有很多值得學(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)算符。不過!如果對(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. //本例靈感來源于大話西游經(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. }  

【編輯推薦】

  1. C#靜態(tài)變量簡(jiǎn)單分析
  2. C# sealed修飾符學(xué)習(xí)筆記
  3. C# const和static readonly區(qū)別淺談
  4. C#隱含類型局部變量淺析
  5. C#對(duì)象初始化器描述
責(zé)任編輯:佚名 來源: 博客園
相關(guān)推薦

2009-08-21 16:05:04

C#使用ref和out

2009-09-24 15:20:54

C#接口定義

2009-07-30 18:20:21

C#繼承

2009-08-24 11:23:41

C# TimeLabe

2009-09-01 16:07:04

C#命名規(guī)約

2009-09-07 16:13:56

C# MessageB

2009-08-14 17:09:48

C#引用類型

2009-08-06 15:40:11

C#裝箱和拆箱

2024-09-23 16:55:18

C#代碼開發(fā)

2009-08-13 17:04:09

C#語言C#程序

2009-08-27 16:11:03

C# delegateC# event

2010-09-14 14:05:42

C#委托

2009-08-25 18:04:30

C#實(shí)現(xiàn)Singlet

2009-08-18 10:14:19

C#插件構(gòu)架

2009-08-20 13:47:57

C#驗(yàn)證輸入方法

2009-08-20 11:01:51

C#操作內(nèi)存

2009-08-13 09:34:55

C#讀寫ini文件

2009-01-19 10:26:02

C#Namespace.NET

2025-05-12 03:10:00

接口方法代碼

2009-09-11 12:31:52

C#實(shí)例詳解TypeConvert
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)