這是我的代碼的片段。使用默認(DateTime)?
var sc = dc.Schedules.FirstOrDefault(s => s.scheduleID == id);
schedule = new ScheduleModel
{
ScheduleId = sc.scheduleID,
Name = sc.scheduleName,
StartDate = sc.startDate.HasValue ? sc.startDate.Value : default(DateTime),
EndDate = sc.endDate.HasValue ? sc.endDate.Value : default(DateTime),
StatusId = sc.statusID.HasValue ? sc.statusID.Value : default(int),
//other properties
};
原代碼沒有檢查sc.startDate.HasValue
和ReSharper的抱怨Possible System.InvalidOperationException
警告。
然後我添加了這些條件,以便Resharper不再抱怨。但我也想知道在這裏使用default(DateTime) & defualt(int)
是否正確。 SQL Server會接受其默認值DateTime
的值嗎?或者我應該使用DateTime.Now
而不是?
有什麼建議嗎?謝謝。
豈不ReSharper的抱怨nullreference例外,因爲使用數據之前不檢查SC? PS SQL Server不會像默認(DateTime)那樣最小值大約是1753. – Plymouth223