首页 > 解决方案 > Object.GetType() 永远不是 System.DateTime?

问题描述

下面的代码行打印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;

为什么?

标签: c#

解决方案


row[2].GetType() is System.DateTime

不检查是否row[2]是类型System.DateTime,而是检查Type返回的实例是否GetType()是(显然不是)

只需使用

row[2] is System.DateTime

推荐阅读