正如我所声明的,
双x;
现在我想分配
x=NULL 我该怎么做?我已经看到了它的一些其他答案,但无法理解它们,这就是为什么打开这个线程。
您必须将其声明为可为空的类型:
double? x;
x = null;
像 double 这样的不可为空的类型不能为空
您不能将 null 分配给不可为空的类型
您可以将NaN
(不是数字)用于不可为空的double
double x;
x = double.NaN;
可空类型是 System.Nullable(Of T) 结构的实例。可空类型可以表示其基础值类型的正确值范围,以及额外的空值。例如,一个 Nullable,发音为“Nullable of Int32”,可以分配从 -2147483648 到 2147483647 的任何值,也可以分配 null 值。可以为 Nullable 分配值 true false 或 null。当您处理包含可能未分配值的元素的数据库和其他数据类型时,将 null 分配给数字和布尔类型的能力特别有用。例如,数据库中的布尔字段可以存储值 true 或 false,或者它可能是未定义的。
双倍的?金额=空;
http://msdn.microsoft.com/en-us/library/vstudio/2cf62fcy.aspx
可能的重复:
为什么我不能在三元 if 语句中将可为空的 int 设置为空?
可空类型和三元运算符:为什么是`?10:null`禁止?
简短的回答:你不能。
Adouble
只能包含有效的双精度浮点值。
use
double? x;
并将空值分配给 x 变量,例如
x = null;