C# in Depth Third Edition 學習筆記-- 可空類型

來源:互聯網
上載者:User

標籤:使用   資料   io   re   c   學習   c#   對象   

1. 沒有值怎麼辦?

    客戶下了一份訂單,有訂貨日期,但尚未發貨,但沒有發貨日期,怎麼表述發貨日期? C#2以後使用可空類型。

2. 為什麼實值型別的變數不能是null?

   參考型別變數,其值是一個引用,即一個非Null 參考值提供了訪問一個對象 的途徑,對於null來說,作為一個特殊值,意味著不引用任何對象。所有引用的預設值都為null,記憶體中表示全零。

   實值型別變數,其值是它本身的真實資料。null不是有效實值型別的值。

3. C#1 解決不存在可空實值型別

    魔值:DateTime,犧牲公元元年中的某個值DateTime.MinValue來表示空值。

    參考型別封裝:需要進行裝箱和拆箱

    額外的布爾標誌:一般做法是將值和標誌封裝到另外一個實值型別中。

4. System.Nullable<T>和System.Nullable

    Nullable<T>是一個泛型型別,T有一個實值型別約束,所以不能使用Nullable<Stream>或Nullable<Nullalbe<int>>。其有兩個重要屬性,HasValue和Value。Nullable<T>仍然是一個實值型別。

    ?修飾符: int? nullable=5;

    對可空類型使用as操作符:空值或是有意義的值

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.