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文本框中为null int
- 3. 如果INT为空
- 4. 为什么不能INT **转换成const int的**在C++
- 5. Linq与可为空的int
- 6. 为什么我不能迭代(Int,Int,Int)和Map?
- 7. 为什么我们在目标c中使用int sqlite3_bind_int(sqlite3_stmt *,int,int)?
- 8. 使用IValueConverter验证可为空的int
- 9. 使用XAML声明一个可为空的int(int?)
- 10. C#:可为空类型(int?)对象?
- 11. 你如何比较一个可空INT为int
- 12. cmd.Parameters.AddWithValue可空INT
- 13. 为什么可为空<int>没有任何成员?
- 14. MVC文本框不能为空的INT
- 15. 不能设置int?为空?:操作员
- 16. 为什么?:操作员不能使用可空<int>赋值?
- 17. 如何使用dapper获得可空int []?
- 18. 可空<int>与int? - 有什么区别吗?
- 19. 为什么c#允许这个? (空检查为int)
- 20. 为什么Realm使用RealmOptional <Int>而不是Int?为可选属性?
- 21. 为什么int和unsigned int用于C和C++ for循环?
- 22. 转换类型为int(C :: *)(INT,CHAR)为int类型(INT,CHAR)
- 23. 如何将可空的int转换为可空的short?
- 24. 为什么const int比const int&更快?
- 25. 在'C'中将int转换为int []
- 26. 为什么将Double转换为Int不会在Swift中返回可选的Int?
- 27. 为什么不推荐使用“新日期(int year,int month,int day)”?
- 28. 将INT列设置为空
- 29. Java属性 - int变为空
- 30. 为什么我们不能宣布矢量<INT,对< int, int >>
我会投资一本关于C#的好书。你一定会对这样的基本语法有更多的问题,并且单独询问SO会花费很多时间。 –
http://stackoverflow.com/questions/6191339/why-type-int-is-never-equal-to-null – Bart
@Bart:我查看已经封闭,链接到一个jleedev愚弄的人,但这个问题更具体到C#可空值类型... – BoltClock