你好,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指令或程序集)参考?)
答案 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);