我在c#datetime面临一个问题,我尝试的不仅仅是时间。不是 提出问题解决方案。所以给我一个解决方案。
var accommodationcategoryList = EmployeeAttendanceCacheMaster.GetAllEmployeeAttendance();
DataSourceResult result = accommodationcategoryList.ToDataSourceResult(request);
foreach(var item in accommodationcategoryList)
{
item.User = UserCacheMaster.GetUserById(item.employeeid);
item.loginTime = item.login.Value.ToShortDateString();
item.logoutTime = (item.logout.Value.ToShortDateString() != null) ? item.logout.Value.ToShortDateString() : "-";
}
我的问题是没有显示显示错误的logouttime
可空对象必须具有值
答案 0 :(得分:4)
您正在尝试检查针对null对象的转换是否为null,而不是检查可空对象本身。您需要更改此行:
item.logoutTime = (item.logout.Value.ToShortDateString() != null) ? item.logout.Value.ToShortDateString() : "-";
到
item.logoutTime = item.logout.HasValue ? item.logout.Value.ToShortDateString() : "-";
答案 1 :(得分:0)
尝试一下:
if(item.logout.HasValue) {
item.logoutTime = item.logout.Value;
}