您好,登錄后才能下訂單哦!
小編給大家分享一下C#中nullable類型有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
Nullable類提供Nullable<T>結構的互補支持。Nullable類支持獲取可以為null的類型的基礎類型,以及針對其基礎值類型不支持泛型比較和相等運算的可以為null的類型對的比較和相等性運算。
C#中的?和??,null和Nullable
//A.比如下面一句,直接定義int為null是錯誤的,錯誤提示為無法將null轉化成int,因為后者是不可以為null的值類型。
privateintgetNum=null;
//B.如果修改為下面的寫法就可以初始指為null,在特定情況下?等同于基礎類型為Nullable。
privateint?getNum=null;
privateNullable<int>getNumNull=null;
NullableClass怎么樣
支持可分配有null的值類型。無法繼承此類。
C#
[System.Runtime.InteropServices.ComVisible(true)]
publicstaticclassNullable
Inheritance
Object
Nullable
Attributes
ComVisibleAttribute
Remarks
如果可以為類型賦值或將其分配到null,則稱該類型為null,這意味著該類型沒有任何值。默認情況下,所有引用類型(如String)都可以為null,但所有值類型(如Int32)都不是。
在C#和VisualBasic中,通過在值類型后使用?表示法,將值類型標記為可以為null。例如,在VisualBasic中C#int?或Integer?聲明可以null分配的整數值類型。
裝箱和取消裝箱
當對可以為null的類型進行裝箱時,公共語言運行時將自動框Nullable<T>對象的基礎值,而不是Nullable<T>對象本身。也就是說,如果HasValue屬性為true,則Value屬性的內容為裝箱。如果HasValue屬性為false,則null為裝箱。如果可以為null的類型的基礎值為取消裝箱,則公共語言運行時將創建一個新的Nullable<T>結構,該結構已初始化為基礎值。
以上是“C#中nullable類型有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。