<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)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 99re免费在线视频| 中国性猛交xxxxx免费看| 国产91色综合久久免费| 亚洲性天天干天天摸| 久久国产精品国产自线拍免费| 亚洲欧洲中文日韩久久AV乱码| 色吊丝免费观看网站| 亚洲国产a级视频| 成人A毛片免费观看网站| 国产亚洲精AA在线观看SEE| 久久黄色免费网站| 亚洲码在线中文在线观看| 日韩免费a级毛片无码a∨ | 无码精品一区二区三区免费视频| 狠狠色伊人亚洲综合成人| 日韩免费的视频在线观看香蕉| 久久精品国产亚洲av高清漫画| 99久在线国内在线播放免费观看| 亚洲理论片在线中文字幕| 性xxxx视频播放免费| 男人j进女人p免费视频| 亚洲国产精品嫩草影院在线观看 | 一区二区免费在线观看| 亚洲AV无码一区二区三区DV| 91老湿机福利免费体验| 亚洲欧好州第一的日产suv| 波多野结衣免费视频观看| 99在线热播精品免费99热| 亚洲视频国产视频| 国产男女猛烈无遮档免费视频网站 | 亚洲网站在线免费观看| 国产亚洲精aa在线看| 亚洲精品A在线观看| 91成人免费观看| 美美女高清毛片视频黄的一免费 | 色噜噜狠狠色综合免费视频| 亚洲AV人人澡人人爽人人夜夜| 免费国产成人高清在线观看网站| 免费的黄色网页在线免费观看| 久久99国产亚洲精品观看| 大陆一级毛片免费视频观看i|