声明一个Nullable变量
例如int? a = null; - 这是真的,默认情况下a具有空值
声明另一个变量
int b;
b=a; // cannot convert from int? to int error
要点: - 如果a的值不是null,则传递给b
要点: - 如何在b中获取空值,不将int b转换为int? b - 除此之外
我需要这个解决方案......任何人都可以提供帮助
有没有解决方案
答案 0 :(得分:5)
b
属于数据类型int
,是值类型。
根据定义,int
不能赋值null。
如果您无法将b
更改为int?
,那么您必须决定另一个标记,使其与null
具有相同的含义。
int b = a ?? -1;
答案 1 :(得分:1)
你做不到。
b
是值类型,不能为空。这就是你有可空类型的原因......
答案 2 :(得分:1)
如果你希望b能够取null,那么它也需要可以为空......
int? a = null;
int? b = a;
int c = b.GetValueOrDefault();
bool hasValue= b.HasValue;
int e = hasValue ? b.Value : 0;
等...