7
A
回答
11
int
是基本類型和僅ReferenceType
S(對象)是空。您可以通過在物體包裹使它的int
可空:
System.Nullable<int> i;
- 或 -
int? i;
http://msdn.microsoft.com/en-us/library/2cf62fcy(v=vs.80).aspx
1
對象是引用類型和他們可以引用Nothing或Null,但int是值類型,只能容納一個值,而不能引用任何東西。
1
值類型,如int
包含直接的值,而不是像ReferenceType
引用。值不能爲空,但引用可以爲空,這意味着它不指向任何內容。一個值不能包含任何內容。值總是包含某種價值
可爲空或可空類型是特殊值類型裏面除了值類型的正常值還支持額外的空值就像引用類型
2
的int是值類型。它確實是Int32類型的。可以爲空的對象是引用類型。在基本級別上,區別在於值類型會將值與變量一起存儲,其中參考類型將存儲對該值的引用。引用可以爲null,這意味着它不指向值。值類型始終有一個值。
可空值包裝值類型以允許您選擇爲空。使用int?只是一個聲明可爲空類型的編譯器快捷方式。
0
2
您可以通過使用INT可爲空的詮釋?或者Nullable<int>
都是完全一樣的東西。
相關問題
- 1. 爲什麼在C#中比較可空和不可空int?
- 2. 將int轉換爲可爲空的int?
- 3. 允許在int爲空的int文本框中爲null int
- 4. 如果INT爲空
- 5. 地圖可空INT可空INT + automapper
- 6. 爲什麼不能INT **轉換成const int的**在C++
- 7. 將可爲空的int設置爲空
- 8. Linq與可爲空的int
- 9. 爲什麼我不能迭代(Int,Int,Int)和Map?
- 10. 爲什麼我們在目標c中使用int sqlite3_bind_int(sqlite3_stmt *,int,int)?
- 11. 爲什麼空值int(int?)如果值爲NULL,不會通過「+ =」增加值?
- 12. 使用IValueConverter驗證可爲空的int
- 13. C#不能含蓄轉換INT []爲int
- 14. 使用XAML聲明一個可爲空的int(int?)
- 15. C#:可爲空類型(int?)對象?
- 16. 你如何比較一個可空INT爲int
- 17. 爲什麼int * []衰減爲int **而不是int [] []?
- 18. int爲什麼int不會給出double?
- 19. cmd.Parameters.AddWithValue可空INT
- 20. 爲什麼可爲空<int>沒有任何成員?
- 21. 不能設置int?爲空?:操作員
- 22. MVC文本框不能爲空的INT
- 23. 爲什麼ByteArrayOutputStream使用int?
- 24. 爲什麼?:操作員不能使用可空<int>賦值?
- 25. 如何使用dapper獲得可空int []?
- 26. 可空<int>與int? - 有什麼區別嗎?
- 27. 爲什麼c#允許這個? (空檢查爲int)
- 28. 爲什麼Realm使用RealmOptional <Int>而不是Int?爲可選屬性?
- 29. 爲什麼int和unsigned int用於C和C++ for循環?
- 30. 爲什麼在Perl chmod中使用int()?
我會投資一本關於C#的好書。你一定會對這樣的基本語法有更多的問題,並且單獨詢問SO會花費很多時間。 –
http://stackoverflow.com/questions/6191339/why-type-int-is-never-equal-to-null – Bart
@Bart:我查看已經封閉,鏈接到一個jleedev愚弄的人,但這個問題更具體到C#可空值類型... – BoltClock