This question already has answers here:
Nullable DateTimes and the AddDays() extension
(4个答案)
3年前关闭。
嗨,AddDays在MVC4中不起作用?
在这段代码中,我在AddDays附近遇到错误。请帮助我解决此问题。
错误1'System.Nullable'不包含'AddDays'的定义,找不到扩展方法'AddDays'接受类型为'System.Nullable'的第一个参数(您是否缺少using指令或程序集引用?)
只有在知道所有日期都将填充值的情况下,您才能执行此操作。否则,您将获得例外。
或者,您可以使用方法
(4个答案)
3年前关闭。
嗨,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指令或程序集引用?)
最佳答案
由于字段CreatedDate
可为空,因此需要使用属性Value
来获取实际日期:
var objCusCreatedDate=n[i].CreatedDate.Value;
var objNextDate = objCusCreatedDate.AddDays(120);
只有在知道所有日期都将填充值的情况下,您才能执行此操作。否则,您将获得例外。
或者,您可以使用方法
GetValueOrDefault
并指定日期为空时要使用的默认值。在此示例中,默认值设置为DateTime.Now
:var objCusCreatedDate=n[i].CreatedDate.GetValueOrDefault(DateTime.Now);
var objNextDate = objCusCreatedDate.AddDays(120);
10-04 12:05