2011-01-14 64 views
4

前段時間我認爲Nullable的<>值類型是類,封裝值類型和HasValue的bool。用一些隱式投射operador爲null,剛剛在BCL實施。Nullable <>類型是BCL,CLR還是兩者的實現?

但作爲一個結構,如何實現?可空<> CLR的struct是「特殊的」嗎?

+0

`Nullable`是一個靜態類,與`Nullable `結構對象一起工作(如有任何混淆)。 – BoltClock 2011-01-14 17:58:46

+0

我在詢問Nullable <> – 2011-01-14 17:59:35

回答

8

Nullable<T>被定義爲正常結構,但有在CLR中特殊鉤到框/拆箱的[mscorlib]System.Nullable`1的實例,以根據HasValue屬性空。這裏有更多詳細信息here

0

這是關於可空類型的MSDN文章。

http://msdn.microsoft.com/en-us/library/1t3y8s4s(v=VS.100).aspx

我不知道你正在試圖獲得在可空<>,除非你是錯誤的理解是,可空類型是System.Nullable<T>結構的情況下,是什麼。

+0

我只是想了解更多關於.Net如何工作 – 2011-01-14 18:15:59

0

Nullable<>是一個在mscorlib中實現的結構。

一件特別的事情是在C#編譯器中將X?識別爲Nullable<X>的別名。

相關問題