• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            天下

            記錄修行的印記

            C#關(guān)鍵字implicit 和 explicit

            C#關(guān)鍵字implicit 和 explicit

            explicit(C# 參考)
            explicit 關(guān)鍵字用于聲明必須使用強(qiáng)制轉(zhuǎn)換來調(diào)用的用戶定義的類型轉(zhuǎn)換運(yùn)算符。 例如,在下面的示例中,此運(yùn)算符將名為 Fahrenheit 的類轉(zhuǎn)換為名為 Celsius 的類:
            // Must be defined inside a class called Fahrenheit:
            public static explicit operator Celsius(Fahrenheit fahr)
            {
                
            return new Celsius((5.0f / 9.0f* (fahr.degrees - 32));
            }
            可以如下所示調(diào)用此轉(zhuǎn)換運(yùn)算符:
            Fahrenheit fahr 
            = new Fahrenheit(100.0f);
            Console.Write(
            "{0} Fahrenheit", fahr.Degrees);
            Celsius c 
            = (Celsius)fahr;
            轉(zhuǎn)換運(yùn)算符將源類型轉(zhuǎn)換為目標(biāo)類型。 源類型提供轉(zhuǎn)換運(yùn)算符。 與隱式轉(zhuǎn)換不同,必須通過強(qiáng)制轉(zhuǎn)換的方式來調(diào)用顯式轉(zhuǎn)換運(yùn)算符。 如果轉(zhuǎn)換操作可能導(dǎo)致異常或丟失信息,則應(yīng)將其標(biāo)記為 
            explicit。 這可以防止編譯器無提示地調(diào)用可能產(chǎn)生無法預(yù)見后果的轉(zhuǎn)換操作。
            省略此強(qiáng)制轉(zhuǎn)換將導(dǎo)致編譯時錯誤 CS0266。

            implicit(C# 參考)
            implicit 關(guān)鍵字用于聲明隱式的用戶定義類型轉(zhuǎn)換運(yùn)算符。 如果可以確保轉(zhuǎn)換過程不會造成數(shù)據(jù)丟失,則可使用該關(guān)鍵字在用戶定義類型和其他類型之間進(jìn)行隱式轉(zhuǎn)換。
            隱式轉(zhuǎn)換可以通過消除不必要的類型轉(zhuǎn)換來提高源代碼的可讀性。 但是,因為隱式轉(zhuǎn)換不需要程序員將一種類型顯式強(qiáng)制轉(zhuǎn)換為另一種類型,所以使用隱式轉(zhuǎn)換時必須格外小心,以免出現(xiàn)意外結(jié)果。 一般情況下,隱式轉(zhuǎn)換運(yùn)算符應(yīng)當(dāng)從不引發(fā)異常并且從不丟失信息,以便可以在程序員不知曉的情況下安全使用它們。 如果轉(zhuǎn)換運(yùn)算符不能滿足那些條件,則應(yīng)將其標(biāo)記為 
            explicit。 
            class Digit
            {
                
            public Digit(double d) { val = d; }
                
            public double val;
                
            // other members

                
            // User-defined conversion from Digit to double
                public static implicit operator double(Digit d)
                {
                    
            return d.val;
                }
                
            //  User-defined conversion from double to Digit
                public static implicit operator Digit(double d)
                {
                    
            return new Digit(d);
                }
            }

            class Program
            {
                
            static void Main(string[] args)
                {
                    Digit dig 
            = new Digit(7);
                    
            //This call invokes the implicit "double" operator
                    double num = dig;
                    
            //This call invokes the implicit "Digit" operator
                    Digit dig2 = 12;
                    Console.WriteLine(
            "num = {0} dig2 = {1}", num, dig2.val);
                    Console.ReadLine();
                }
            }

            posted on 2016-06-17 14:06 天下 閱讀(375) 評論(0)  編輯 收藏 引用 所屬分類: C#

            <2012年12月>
            2526272829301
            2345678
            9101112131415
            16171819202122
            23242526272829
            303112345

            導(dǎo)航

            統(tǒng)計

            常用鏈接

            留言簿(4)

            隨筆分類(378)

            隨筆檔案(329)

            鏈接

            最新隨筆

            搜索

            最新評論

            91超碰碰碰碰久久久久久综合| 91精品国产高清久久久久久国产嫩草| 久久99热这里只频精品6| 亚洲欧美另类日本久久国产真实乱对白| 97精品久久天干天天天按摩| 久久精品国产亚洲欧美| 日本精品久久久中文字幕| 亚洲国产精品无码久久青草| 久久久久亚洲AV无码观看| av无码久久久久久不卡网站 | 国产精品日韩深夜福利久久| 亚洲日本va午夜中文字幕久久 | 久久婷婷五月综合97色| 久久精品这里热有精品| 久久AV无码精品人妻糸列| 91精品国产乱码久久久久久| 久久久久九国产精品| 99国产欧美久久久精品蜜芽 | 情人伊人久久综合亚洲| 久久99精品国产99久久6| 久久精品国产亚洲av麻豆小说 | 久久99国产精品二区不卡| 亚洲国产精久久久久久久| 久久精品无码一区二区WWW| 91久久精品国产免费直播| 国产∨亚洲V天堂无码久久久| 欧美伊人久久大香线蕉综合| 国产福利电影一区二区三区,免费久久久久久久精 | 国产精品久久久天天影视香蕉 | 国产精品99久久精品| 污污内射久久一区二区欧美日韩| 99久久精品无码一区二区毛片| 久久免费看黄a级毛片| 国产精品九九久久精品女同亚洲欧美日韩综合区 | 欧美777精品久久久久网| 欧美激情精品久久久久久久九九九| 久久亚洲高清观看| 成人综合伊人五月婷久久| AV无码久久久久不卡蜜桃| 国内精品久久久久影院薰衣草 | 久久天天躁狠狠躁夜夜avapp|