如我已宣布,
double x;
现在我想分配
x = NULL我该怎么做?我已经看到了其他一些答案,但无法理解它们,这就是打开这个主题的原因。
答案 0 :(得分:14)
您必须将其声明为可以为空的类型:
double? x;
x = null;
像double这样的非可空类型不能为空
答案 1 :(得分:12)
您无法将null分配给非可空类型
您可以将NaN
(非数字)用于不可为空的double
double x;
x = double.NaN;
答案 2 :(得分:1)
Nullable类型是System.Nullable(Of T)结构的实例。可空类型可以表示其基础值类型的正确值范围,以及额外的空值。例如,可以为发音为“Nullable of Int32”的Nullable分配从-2147483648到2147483647的任何值,或者可以为其指定空值。可以为Nullable赋值true false或null。在处理包含可能未赋值的元素的数据库和其他数据类型时,将null分配给numeric和Boolean类型的能力尤其有用。例如,数据库中的布尔字段可以存储值true或false,也可以是未定义的。
一倍? amount = null;
http://msdn.microsoft.com/en-us/library/vstudio/2cf62fcy.aspx
可能重复:
Why can't I set a nullable int to null in a ternary if statement?
Nullable types and the ternary operator: why is `? 10 : null` forbidden? 强>
答案 3 :(得分:0)
简短的回答:你不能。
double
只能包含有效的双精度浮点值。
答案 4 :(得分:0)
use
double? x;
并将空值赋给x变量,如
x = null;