日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C# 自定义 implicit和explicit转换

發布時間:2025/3/17 C# 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C# 自定义 implicit和explicit转换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
explicit 和 implicit 屬于轉換運算符,如用這兩者可以讓我們自定義的類型支持相互交換
explicti 表示顯式轉換,如從 A -> B 必須進行強制類型轉換(B = (B)A)
implicit 表示隱式轉換,如從 B -> A 只需直接賦值(A = B)

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

namespace OperatorTest {/// <summary>/// 豬/// </summary>public class Pig{public Pig(string name){this.Name = name;}public string Name;//explicit 關鍵字用于聲明必須使用強制轉換來調用的用戶定義的類型轉換運算符。//static explicit operator target_type { source_type identifier }//target_type 目標類型//source_type 源類型//identifier Something/*轉換運算符將源類型轉換為目標類型。源類型提供轉換運算符。與隱式轉換不同,必須通過強制轉換的方式來調用顯式轉換運算符。如果轉換操作可能導致異常或丟失信息,則應將其標記為 explicit。這可以防止編譯器無提示地調用可能產生無法預見后果的轉換操作*/public static implicit operator Pig(Monkey value){Pig mk = new Pig(value.Name + ":猴子變豬!!");return mk;}} namespace OperatorTest {/// <summary>/// 猴子/// </summary>public class Monkey{public Monkey(string name){this.Name = name;}public string Name;//implicit 關鍵字用于聲明隱式的用戶定義類型轉換運算符。//static implicit operator target_type { source_type identifier }public static explicit operator Monkey(Pig value){Monkey mk = new Monkey(value.Name + ":豬變猴子!!");return mk;}}調用:

Monkey monkey = new Monkey("悟空");//隱式轉換 猴子變豬Pig monkeyToPig = monkey;MessageBox.Show(monkeyToPig.Name);Pig pig = new Pig("八戒");//顯式轉換 豬變猴子Monkey pigToMonkey = (Monkey)pig;MessageBox.Show(pigToMonkey.Name);
輸出:



應用:
比如在實際操作中將一個對象A(或者一個實體)序列化成xml進行存儲,那么可以在該對象A的類中定義一個explicit operator,來實現將符合要求的xml內容轉換為對象或者實體。
當然也可以在對象A的類中定義一個函數來實現這個處理,不過這樣有可能會多出一步,那就是當該函數不是靜態函數時,需要先實例化該對象來調用相應的處理函數。


參考:

explicit 關鍵字

implicit 關鍵字

operator 關鍵字


demo下載

總結

以上是生活随笔為你收集整理的C# 自定义 implicit和explicit转换的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久精品国产99 | 成年人在线免费观看视频网站 | 亚洲 欧美 精品 | 亚洲美女自拍偷拍 | 午夜av免费| 69精品视频 | 国产欧美精品一区二区 | 亚洲欧美日韩综合一区二区 | 欧美日韩一区二区综合 | 天天摸天天做天天爽水多 | 亚洲丝袜一区 | 女性毛片| 亚洲视频一区二区在线观看 | 日日草夜夜操 | 国产在线观看一区 | 日韩免费网站 | 看黄色一级片 | 97视频网址| 伊人22 | 美女扒开大腿让男人桶 | 日本韩国免费观看 | av日韩国产 | 九九久久精品视频 | xxxx精品| 18禁一区二区 | 秋霞在线观看视频 | 欧美一级淫片007 | 国产视频一区二区三区四区 | 日韩成人综合 | 中日韩黄色大片 | 中文字幕观看av | 午夜精品极品粉嫩国产尤物 | 久久久久黄色 | 欧美日韩亚洲另类 | 亚洲一区中文 | 国产精品毛片va一区二区三区 | 男女网站在线观看 | 97se亚洲国产综合在线 | 精品人妻二区中文字幕 | 亚洲激情六月 | 人人射视频 | 久久成人综合网 | 亚洲大色网 | 肉大榛一进一出免费视频 | 国产精品拍拍 | 91天堂在线观看 | 在线观看欧美日韩视频 | 精品免费视频 | 精品欧美乱码久久久久久1区2区 | 国产911视频 | 麻豆国产在线播放 | 欧美精品综合 | 丰满饥渴老女人hd | 亚洲第一页综合 | 亚洲天堂免费av | 狠狠一区 | 国产精品人人爽 | 日韩精品视频在线观看免费 | 国产精品污www在线观看 | 欧美精品一区二区三区蜜臀 | 免费人妻精品一区二区三区 | eeuss鲁片一区二区三区在线观看 | 亚洲美女视频网 | 欧美极品少妇xxxxⅹ裸体艺术 | 国语对白久久 | 黄色一级片免费观看 | 黄色片成年人 | 99黄色| 日少妇b | 国产精品久久婷婷 | 尤物视频在线免费观看 | 欧美一区二区三区啪啪 | 色玖玖 | av导航网站 | 精品国产一区二区在线 | 国产吃瓜在线 | 精品人妻无码中文字幕18禁 | 国产成人区 | 日本中文字幕在线视频 | 国产精品99久久久久久久久久久久 | 欧美精品欧美极品欧美激情 | 激情文学综合网 | 大乳巨大乳j奶hd | 女生张开腿让男生插 | 美腿丝袜av| 色人阁在线视频 | 无码人妻一区二区三区免费n鬼沢 | 中文字幕久久久久久久 | 久爱视频在线 | 婷婷国产成人精品视频 | 国产一二三在线观看 | 国产最爽的乱淫视频国语对白 | 爱爱高潮视频 | 手机在线观看av网站 | 四虎精品成人免费网站 | 日本黄色一级网站 | 亚洲男女| av午夜在线观看 | 天堂va蜜桃一区二区三区 |