<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-200  評論-148  文章-15  trackbacks-0

    在C# 2.0里面的數據類型中,分為值類型和引用類型,引用類型可以初始化為null,可是值類型是不可以的。

    比如經常用到的System.Guid類型,要么賦值為Guid.NewId,要么賦值為Guid.Empty。
    再比如System.DateTime,默認初始化為DateTime.MinValue。

    強行給值類型賦null值,編譯就不會通過,會報出類似下面的異常:
    錯誤 1 無法將 NULL 轉換成“System.DateTime”,因為它是一種值類型
    這個時候就要借助Nullable<T>結構體了。

    拿DateTime舉例,完整的寫法:
    Nullable<DateTime> now = DateTime.Now;
    Nullable<DateTime> now = null;
    當然也可以縮寫:
    DateTime? now = DateTime.Now;
    DateTime? now = null;
    我們可以直接對now賦值,但實際上是給now.Value賦值。

    既然可以為空,就涉及到判斷了,以下兩種方式都是可行的:
    if (now != null) {}
    if (now.HasValue()) {}
    有一點需要注意的是,值類型可以通過這種方法變成引用類型,但是引用類型不可以喲。比如下面這段代碼:
    Nullable<string> test = "ddd";
    這段代碼編譯無法通過,會報出以下異常:
    錯誤 1 類型“string”必須是不可為空的值類型才能用作泛型類型或方法“System.Nullable<T>”中的參數“T”

    posted on 2010-09-30 09:27 無聲 閱讀(6367) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 国产精成人品日日拍夜夜免费| 日本三级2019在线观看免费| 久久久久久久久亚洲| 久草视频免费在线观看| 亚洲午夜精品久久久久久app| 亚洲第一福利网站在线观看| 日本一卡精品视频免费| 日韩欧美亚洲国产精品字幕久久久| 在线观看亚洲成人| www.免费在线观看| 一个人看的免费视频www在线高清动漫| 亚洲国产美国国产综合一区二区 | 久久午夜羞羞影院免费观看| 亚洲日韩看片无码电影| 亚洲国产精品乱码一区二区| 成人毛片18女人毛片免费96| 日韩电影免费观看| 免费在线观看亚洲| 亚洲同性男gay网站在线观看| 亚洲人午夜射精精品日韩| 岛国av无码免费无禁网站| 免费看无码特级毛片| 亚洲精品无码久久久久牙蜜区| 亚洲AV美女一区二区三区| 免费一级特黄特色大片在线观看| 亚洲黄色免费在线观看| 国产精品1024在线永久免费| 亚洲精品无码久久久久牙蜜区| 亚洲一区二区在线视频| 亚洲一区日韩高清中文字幕亚洲| 特级做A爰片毛片免费69| 无码一区二区三区免费| 一级毛片免费播放男男| 亚洲av无码成人精品国产 | 色噜噜亚洲男人的天堂| 亚洲色图在线观看| 亚洲国产精品国自产拍AV| 亚洲国产精品狼友中文久久久 | 亚欧免费无码aⅴ在线观看| 免费人成在线观看播放a| 亚洲成aⅴ人片久青草影院按摩|