DateTime filterDate = endDate.HasValue ? endDate.Value : DateTime.Now.AddDays(7);
非三元
DateTime filterDate;
if (endDate.HasValue)
filterDate = endDate.Value;
else
filterDate = DateTime.Now.AddDays(7);
设置如果调试这两个语句filterDate的值不会是相同的。为什么是这样?
在第一个示例中,filterDate的值为01/01/0001。 在第二个例子中,我得到了预期的结果,即filterDate是将来7天的日期时间。
编辑: 在这一点上,我甚至尝试设置endDate = null只是为了确保这里是屏幕截图。 alt text http://www.freeimagehosting.net/uploads/57bef2e50a.png
我见过的最奇怪的事情。
你有没有试图把周围的三元括号? – 2010-01-28 15:14:17
您是否为您的结束日期使用了可为空的DateTime? (即DateTime?endDate) – Shimrod 2010-01-28 15:15:45
什么是endDate? – serialhobbyist 2010-01-28 15:15:57