.Net中的声明问题?

时间:2010-12-22 12:17:52

标签: c# .net

声明一个Nullable变量

例如int? a = null; - 这是真的,默认情况下a具有空值

声明另一个变量

int b;
b=a; // cannot convert from int? to int error

要点: - 如果a的值不是null,则传递给b

要点: - 如何在b中获取空值,不将int b转换为int? b - 除此之外

我需要这个解决方案......任何人都可以提供帮助

有没有解决方案

3 个答案:

答案 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;

等...