下面的代码行显示System.Datetime
log.InfoFormat("{0}", row[2].GetType());
但是在以下情况下,row[2].GetType()
决不等于System.DateTime
。
f.TestDate = (row[2].GetType() is System.DateTime) ? f.TestDate = (System.DateTime)row[2] : f.TestDate = DateTime.MinValue;
为什么?
答案 0 :(得分:5)
row[2].GetType() is System.DateTime
不检查row[2]
是否为System.DateTime
类型,而是检查Type
返回的GetType()
实例是否为(显然不是)
只需使用
row[2] is System.DateTime
答案 1 :(得分:0)
您应该使用:
row[2].GetType() == typeof(DateTime)
或
row[2] is DateTime