如何在c#中为非空类型变量赋空值

本文关键字:类型变量 空值 | 更新日期: 2023-09-27 18:04:48

如我所声明的,

双x;

现在我要赋值

x=NULL我怎么能做到这一点?我看过一些其他的答案,但不能理解他们,这就是为什么打开这个线程

如何在c#中为非空类型变量赋空值

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

double? x;
x = null;

不可为空的类型如double不能为空

不能将null赋值给非空类型

对于不可为空的double,可以使用NaN(不是数字)

double x;
x = double.NaN;

可空类型是System的实例。可空(Of T)结构。可空类型可以表示其基础值类型的正确值范围,再加上一个额外的空值。例如,一个Nullable(发音为"Nullable of Int32")可以被赋值为-2147483648到2147483647之间的任何值,也可以被赋值为空值。Nullable可以被赋值为true、false或null。当您处理数据库和其他数据类型时,为数字和布尔类型分配null的能力特别有用,这些数据类型包含可能没有被分配值的元素。例如,数据库中的布尔字段可以存储值true或false,或者它可能未定义。

双吗?

http://msdn.microsoft.com/en-us/library/vstudio/2cf62fcy.aspx

可能的重复:

为什么我不能't在三元if语句中设置一个可空的int为空?
可空类型和三元操作符:为什么是' ?10: null ' forbidden?

简短的回答:你不能。

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

use 
double? x;

和赋空值给x变量,如

x = null;