本篇文章為大家展示了C#中explicti和implicit的作用是什么,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、魯?shù)榫W(wǎng)絡(luò)推廣、小程序定制開發(fā)、魯?shù)榫W(wǎng)絡(luò)營(yíng)銷、魯?shù)槠髽I(yè)策劃、魯?shù)槠放乒P(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供魯?shù)榻ㄕ?/a>搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com
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)用端。
示例:
using System; using System.Collections.Generic; using System.Text; namespace Example23 { class Program { //本例靈感來源于大話西游經(jīng)典臺(tái)詞“神仙?妖怪?”--主要是我實(shí)在想不出什么好例子了 class Immortal { public string name; public Immortal(string Name) { name = Name; } public static implicit operator Monster(Immortal value) { return new Monster(value.name + ":神仙變妖怪?偷偷下凡即可。。。"); } } class Monster { public string name; public Monster(string Name) { name = Name; } public static explicit operator Immortal(Monster value) { return new Immortal(value.name + ":妖怪想當(dāng)神仙?再去修煉五百年!"); } } static void Main(string[] args) { Immortal tmpImmortal = new Immortal("紫霞仙子"); //隱式轉(zhuǎn)換 Monster tmpObj1 = tmpImmortal; Console.WriteLine(tmpObj1.name); Monster tmpMonster = new Monster("孫悟空"); //顯式轉(zhuǎn)換 Immortal tmpObj2 = (Immortal)tmpMonster; Console.WriteLine(tmpObj2.name); Console.ReadLine(); } } }
上述內(nèi)容就是C#中explicti和implicit的作用是什么,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。