答案 0 :(得分:2)
答案 1 :(得分:0)
我认为kekekela的答案是正确的,但由于不必要的重复,它似乎效率低下。我建议:
DateTime date;
EnumerableRowCollection<DataRow> query =
from order in _table.AsEnumerable()
select
new {
OrderDate =
!DateTime.TryParse(Convert.ToString(
order.Field<DateTime>("OrderDate")), out date)
? String.Empty : date.ToShortDateString()
}
这里的关键是TryParse
不会抛出null或为空。
答案 2 :(得分:0)
这是一个更简洁的答案。
var badDate = DateTime.Parse("01/01/1999");
var query =
from order in _table.AsEnumerable()
select new {
OrderDate = (order.Field<DateTime>("OrderDate").Date == badDate.Date) ? String.Empty : date.ToShortDateString()
};
注意:无法存储&#34; 00/00/1999&#34;作为关系数据库中的时间类型。我想你的意思是&#34; 01/01/1999&#34;成为哨兵价值。