C#中的DateTime?
和DateTime
(沒有問號)有什麼區別?什麼是「DateTime?」而不僅僅是C#中的DateTime?
4
A
回答
17
DateTime?
可以爲空,而不是DateTime
19
問號之後的值類型是用於Nullable<T>
結構的簡化符號。
表示一個對象,其底層 類型爲值類型也可以是 像引用類型分配空值。
的Nullable<T>
結構允許您將值類型(如DateTime
,Int32
,Guid
,等)並將其看作在某些方面引用類型。它確實有點複雜(在任務,解除操作員和其他方面),因此我建議您閱讀Nullable Types (C# Programming Guide)及其相關文章。
可爲空的類型是
System.Nullable
結構的實例。可以爲空的 類型可以表示其基礎值類型的 值的正常範圍, 加上附加的空值。對於 例如,Nullable<Int32>
,發音 「的Int32的可空,」可以被分配 任何值-2147483648到2147483647 ,或者它可以被分配 空值。 ANullable<bool>
可以是 賦值爲真或假,或者 爲空。將數值和布爾類型賦值爲 的能力是 在處理 數據庫和其他數據類型 時特別有用,該數據類型包含可能不會被 賦值的元素。例如,數據庫中的 布爾型字段可以存儲 的值true或false,或者可能未定義爲 。
2
DateTime?是另一種寫可空的方式<DateTime>。我建議你閱讀這更多地瞭解可空:
相關問題
- 1. DateTime而不是DateTime?
- 2. 爲什麼xmlns:xsi,而不僅僅是XML文檔中的xsi?
- 3. 什麼是「DateTime?」在C#中是什麼意思?
- 4. 爲什麼在PowerShell中等於「-eq」而不僅僅是「=」?
- 5. 爲什麼我得到NativeGestures Qt中,而不是僅僅手勢
- 6. 僅限MS DateTime日誌表
- 7. 爲什麼tarball叫tarball而不僅僅是焦油?
- 8. DuplicateHandle,爲什麼重複而不是僅僅獲取?
- 9. 爲什麼使用react-redux而不僅僅是redux?
- 10. 爲什麼DateTime是.Net中的結構?
- 11. 什麼是CRM2011中DateTime的MinValue?
- 12. 什麼是SQLite中的datetime-type列?
- 13. 如何僅在DateTime對象中刪除C#中DateTime的時間部分?
- 14. 導入React,{組件}而不僅僅是React的好處是什麼?
- 15. 在Symfony2中,\ DateTime是什麼意思?
- 16. TimeZone.GetUtcOffset()需要DateTime,但是DateTime的時區被忽略,爲什麼?
- 17. 爲什麼使用「RIA Services Link」而不是僅僅是一個OData端點?
- 18. datetime isoformat()最後的整數是什麼?
- 19. 什麼是DateTime(Int64)的時代?
- 20. 在C#中,什麼是`?`的`類型的DateTime?`
- 21. 在iOS開發中,爲什麼他們稱之爲「ViewController」而不僅僅是「Controller」?
- 22. 什麼是C#代碼的C#DateTime等價物?
- 23. prolog答案可以不確定,而不僅僅是或不是?
- 24. Mysql的COUNT僅按照日期DATETIME
- 25. 不僅僅是EXC_BAD_ACCESS?
- 26. 爲什麼WPF有它自己的Color類而不是僅僅使用Drawing.Color?
- 27. 爲什麼我會得到Json的結構而不僅僅是價值?
- 28. 使用put和delete有什麼好處,而不僅僅是獲取和發佈
- 29. 爲什麼我們使用@Echo off/on而不是僅僅使用echo/off?
- 30. 爲什麼名稱形成一種而不僅僅是一種類型?
即可空 - http://msdn.microsoft.com/en-us/library/1t3y8s4s(VS.80).aspx –
2009-07-28 11:17:50
其實, 'DateTime?'本身不是null,因爲它也是一個值類型。 'Nullable'暴露了'HasValue'屬性,編譯器使用它來僞裝一個值爲'Nullable '的值類型的引用類型語義。 –
2009-07-28 11:41:29