2013-03-19 114 views

回答

11

你必须将其声明为可空类型:

double? x; 
x = null; 

非可空类型,如双层不能为null

0

简短的回答:不能。

A double只能包含有效的双精度浮点值。

+0

+1,这是回答张贴@TGH – 2013-03-19 05:21:40

0
use 
double? x; 

和分配等

x = null; 
+1

相同的答案是唯一的答案哦,是的,我没有读过这个,但我认为答案是正确的和现在一样。 – Niventh 2013-03-19 05:16:27

+0

的OP的问题 – Rahul 2013-03-19 05:17:55

7

空值x变量你不能分配空到非空类型

可以使用NaN(非数字),用于非可空double

double x; 
x = double.NaN; 
1

可为空的类型是System.Nu的实例可用(Of T)结构。可为空的类型可以表示其基础值类型的正确值范围,以及一个附加的空值。例如,一个可为Nullable发音的“Int32可为空”,可以指定从-2147483648到2147483647之间的任何值,也可以指定为空值。 Nullable可以赋值true或false。当您处理数据库和其他数据类型(包含可能未指定值的元素)时,将null分配给数字和布尔类型的功能尤其有用。例如,数据库中的布尔字段可以存储值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?