如何将一个可空的整型转换为整型?假设我有2种类型的int如下:

int? v1;  
int v2; 

我想把v1的值赋给v2。V2 = v1;将导致错误。如何将v1转换为v2?


当前回答

你所需要的是…

v2= v1.GetValueOrDefault();

其他回答

你所需要的是…

v2= v1.GetValueOrDefault();

如果v1为空,就不能这样做,但可以用运算符检查。

v2 = v1 ?? 0;

v2 = Convert.ToInt32(v1);

在c# 7.1及以后版本中,类型可以通过使用默认字面值而不是默认操作符来推断,因此它可以写成如下:

v2 = v1 ?? default;

你可以这样做

v2 = v1.HasValue ? v1.Value : v2;