hasvalue运算符检查null的区别是什么

时间:2012-11-28 10:39:51

标签: c# nullable

  

可能重复:
  Which is preferred: Nullable<>.HasValue or Nullable<> == null?

我有字段DateTime? Date

我需要检查Date为null并设置最小值。

var anyDate = Date ?? DateTime.MinValue();

var anyDate = Date.HasValue ? Date.Value : DateTime.MinValue();

什么是对的?

2 个答案:

答案 0 :(得分:3)

两者都是。第一个更短,然后有我的偏好。 检查: Which is preferred: Nullable<>.HasValue or Nullable<> != null?

答案 1 :(得分:1)

我认为你可以使用这个

var anyDate = Date.GetValueOrDefault(DateTime.MinValue);

由于您要检查null并且在这种情况下指定一个默认值,这大致转换为表格

if(Date.HasValue)
   return Date.Value;
return defaultvalue;