最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談C#2.0泛型中的變化:default關(guān)鍵字

 更新時(shí)間:2013年09月05日 09:59:39   作者:  
下面就詳細(xì)的說(shuō)明一下。之所以會(huì)用到default關(guān)鍵字,是因?yàn)樾枰诓恢李愋蛥?shù)為值類型還是引用類型的情況下,為對(duì)象實(shí)例賦初值

今天回答別人問(wèn)題的時(shí)候,才發(fā)現(xiàn)原先的T.default語(yǔ)法被取消了,使用了新的default關(guān)鍵字來(lái)實(shí)現(xiàn)這一功能。還好回復(fù)前動(dòng)手試了一下,不然就...

下面詳細(xì)說(shuō)明一下。之所以會(huì)用到default關(guān)鍵字,是因?yàn)樾枰诓恢李愋蛥?shù)為值類型還是引用類型的情況下,為對(duì)象實(shí)例賦初值??紤]以下代碼:

復(fù)制代碼 代碼如下:

class TestDefault<T>
    {
        public T foo()
        {
            T t = null; //???
            return t;
        }
    }

如果我們用int型來(lái)綁定泛型參數(shù),那么T就是int型,那么注釋的那一行就變成了 int t = null;顯然這是無(wú)意義的。為了解決這一問(wèn)題,引入了default關(guān)鍵字:
復(fù)制代碼 代碼如下:

class TestDefault<T>
    {
        public T foo()
        {
                return default(T);
        }
    }

以下是測(cè)試用的代碼,看了之后就應(yīng)該很快能明白,default關(guān)鍵字的作用:
復(fù)制代碼 代碼如下:

 class Program
    {
        static void Main(string[] args)
        {
            TestDefault<int> t1 = new TestDefault<int>();
            int i = t1.foo();
            System.Diagnostics.Debug.Assert(i == 0);

            TestDefault<object> t2 = new TestDefault<object>();
            object o = t2.foo();
            System.Diagnostics.Debug.Assert(o == null);
        }
    }


最后說(shuō)明一下,在.net 2.0的早期preview中,沒(méi)有default關(guān)鍵字,使用如下的方式實(shí)現(xiàn)default關(guān)鍵字的功能:
復(fù)制代碼 代碼如下:

class TestDefault<T>
    {
        public T foo()
        {
                return T.default;
        }
    }

這段代碼在vs 2005 beta1中,已經(jīng)不能通過(guò)編譯了。

相關(guān)文章

  • C#判斷上傳文件是否是圖片以防止木馬上傳的方法

    C#判斷上傳文件是否是圖片以防止木馬上傳的方法

    這篇文章主要介紹了C#判斷上傳文件是否是圖片以防止木馬上傳的方法,對(duì)于網(wǎng)絡(luò)安全來(lái)說(shuō)至關(guān)重要,需要的朋友可以參考下
    2014-07-07
  • Entity?Framework映射TPH、TPT、TPC與繼承類

    Entity?Framework映射TPH、TPT、TPC與繼承類

    這篇文章介紹了Entity?Framework映射TPH、TPT、TPC與繼承類,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • C# 匿名方法基礎(chǔ)回顧

    C# 匿名方法基礎(chǔ)回顧

    本篇文章主要介紹了C#的匿名方法的參數(shù)使用范圍以及委托示例。具有一定的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-01-01
  • C#實(shí)現(xiàn)影院售票系統(tǒng)

    C#實(shí)現(xiàn)影院售票系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)影院售票系統(tǒng),解析了售票系統(tǒng)的難點(diǎn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • C#窗體間通訊的幾種常用處理方法總結(jié)

    C#窗體間通訊的幾種常用處理方法總結(jié)

    這篇文章主要介紹了C#窗體間通訊的幾種常用處理方法總結(jié),有很好的實(shí)用價(jià)值,需要的朋友可以參考下
    2014-08-08
  • c#字符串編碼編碼(encoding)使用方法示例

    c#字符串編碼編碼(encoding)使用方法示例

    System.Text提供了Encoding的抽象類,這個(gè)類提供字符串編碼的方法。使Unicode字符數(shù)組的字符串,轉(zhuǎn)換為指定編碼的字節(jié)數(shù)組,或者反之,看下面的例子
    2013-12-12
  • 基于WPF實(shí)現(xiàn)面包屑控件的示例代碼

    基于WPF實(shí)現(xiàn)面包屑控件的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何基于WPF實(shí)現(xiàn)簡(jiǎn)單的面包屑控件,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定幫助,感興趣的小伙伴可以了解一下
    2023-05-05
  • C#借助OpenCvSharp讀取攝像頭并顯示的實(shí)現(xiàn)示例

    C#借助OpenCvSharp讀取攝像頭并顯示的實(shí)現(xiàn)示例

    OpenCvSharp是一個(gè)OpenCV的.Net wrapper,應(yīng)用最新的OpenCV庫(kù)開(kāi)發(fā),本文主要介紹了C#借助OpenCvSharp讀取攝像頭并顯示的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2022-05-05
  • 新手必看Unity2019 2020保姆級(jí)安裝教程

    新手必看Unity2019 2020保姆級(jí)安裝教程

    這篇文章主要介紹了Unity2019 2020安裝教程,本文分步驟通過(guò)圖文并茂的形式給大家介紹Unity2019 2020安裝方法,需要的朋友可以參考下
    2021-05-05
  • C#超市收銀系統(tǒng)設(shè)計(jì)

    C#超市收銀系統(tǒng)設(shè)計(jì)

    這篇文章主要為大家詳細(xì)介紹了C#超市收銀系統(tǒng)設(shè)計(jì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06

最新評(píng)論

昆山市| 墨脱县| 会同县| 江门市| 洛川县| 庄浪县| 淳化县| 错那县| 徐闻县| 永泰县| 讷河市| 益阳市| 堆龙德庆县| 应城市| 黄平县| 蕉岭县| 福海县| 社会| 白水县| 犍为县| 乃东县| 咸宁市| 志丹县| 桂阳县| 始兴县| 册亨县| 宁乡县| 太仓市| 郯城县| 元江| 黎平县| 大英县| 卢龙县| 大冶市| 自贡市| 平南县| 内乡县| 鄂州市| 巧家县| 津南区| 沈阳市|