AddDays在MVC4中不起作用?

时间:2016-03-17 04:33:43

标签: c# asp.net-mvc-4

你好,AddDays在MVC4中不起作用吗?

  public ActionResult customerid()
  {
    List<Customer> n = (from c in db.Customers where c.IsDeleted == false  select c).ToList();

        for (var i = 0; i < n.Count; i++)
        {
            var objCusCreatedDate=n[i].CreatedDate;

            var objNextDate = objCusCreatedDate.AddDays(+120);

         }
        return View();
    }

在此代码中,我在AddDays附近收到错误。请帮我解决这个问题。

  

错误1'System.Nullable'不包含'AddDays'的定义,也没有扩展方法'AddDays'接受类型为'System.Nullable'的第一个参数'(你是否缺少using指令或程序集)参考?)

2 个答案:

答案 0 :(得分:2)

由于您的字段CreatedDate可以为空,因此您需要使用属性Value来获取实际日期:

var objCusCreatedDate=n[i].CreatedDate.Value;
var objNextDate = objCusCreatedDate.AddDays(120);

如果您知道所有日期都会填充值,则只能执行此操作。否则你会得到一个例外。

或者,您可以使用方法GetValueOrDefault并指定日期为null时要使用的默认值。在此示例中,默认值设置为DateTime.Now

var objCusCreatedDate=n[i].CreatedDate.GetValueOrDefault(DateTime.Now);
var objNextDate = objCusCreatedDate.AddDays(120);

答案 1 :(得分:1)

if(objCusCreatedDate.HasValue)
  var objNextDate = objCusCreatedDate.Value.AddDays(+120);