Convert.ToInt32(nullableVariable)VS nullableVariable.GetValueOrDefault()

时间:2018-10-11 10:56:46

标签: c# int nullable

其中哪些是最佳实践,它们如何工作?

int? id = null;
Console.WriteLine(id.GetValueOrDefault());
Console.WriteLine(Convert.ToInt32(id));    

这两个都返回相同的值0。

1 个答案:

答案 0 :(得分:0)

取决于Microsoft

第一个表达式:

  

GetValueOrDefault()

检索当前Nullable<T>对象的值或基础类型的默认值。

如果HasValue属性为true;,则返回Value属性的值,否则为基础类型的默认值。

第二个表达式:

  

Nullable typesint? id = null;

可空类型是表示基础值类型T和附加null值的所有值的类型。