4
A
回答
9
它们和new int?()
完全一样。
如果你只是指定一个变量,你通常根本不需要它。我只是使用:
int? x = null;
例如。
我最经常需要这些表达式之一的时间是条件运算符,例如,
int y = ...;
int? z = condition ? default(int?) : y;
不能在该方案中使用null
如编译器不能推断出表达式的类型。 (可以说这对语言来说是一种有益的补充,请介意你......)
0
基本上都是一样的。默认值为默认值。对于引用类型和可为空的类型,它给出的值为0时为null。如果将decalre整数设为可为空,则也可以将其分配给(int?)null
。你可以检查IL代码也只是为了验证。
相关问题
- 1. int p = *(int *)i和int p = *(int *)&i之间的区别
- 2. int(* ip)[4]与int ip [4]之间的区别?
- 3. Java中的int a [5],int a [],int a [] = {2,3}之间的区别
- 4. int someInts [3]和int * someInts = new int [3]之间的区别?
- 5. uint和unsigned int之间的区别?
- 6. C#中char和int之间的区别#
- 7. Python 3.5 - '//'和'int()'之间的区别
- 8. int,NSInteger和NSUInteger之间的区别
- 9. 新的int和new(int)之间的C++有什么区别?
- 10. '(int)a','a as int'和C#中的Convert.ToInt32(a)之间的区别
- 11. 表达式之间的区别:int * a = 0; int * a = 10;
- 12. foo(int * arr)和foo(int arr [])之间的任何区别?
- 13. int * p和int * p声明之间的区别
- 14. 最终静态int和静态最终int之间的区别?
- 15. int [] []和int [,]之间的区别是什么?
- 16. 返回值之间的区别int&和const int&
- 17. int fpurge()和int fflush()之间的区别C
- 18. C++中新int()和新int {}之间的区别
- 19. extern int a之间的区别; extern int a = 42;
- 20. 传递(int x)和(const int x)之间的区别
- 21. “Convert.ToString(Nullable <int>)”和“Nullable <int> .ToString()”之间的区别?
- 22. 是一个int * NULL的默认值吗?
- 23. 通过引用传递的int与int的传递地址之间的区别
- 24. int(floatvar)和(int)floatvar之间是否有区别?
- 25. Linux与Windows之间'INT'指令的区别
- 26. 与printf一起使用时char *和int *之间的区别
- 27. int,int *和int []与std :: unique_ptr之间的差异
- 28. int32.Equals int的区别? == int?对于linq
- 29. 地图<int,int>默认值
- 30. 定义默认int为无符号int
在我的情况是一个三元运算符,你例举了var x = Int32.TryParse(entityObj.Prop,out result)?结果:(int?)null;我不得不这样做,因为这个属性是以varchar形式存储在第三方数据库中的。谢谢@ jon-skeet –