我必须检查我的datarow中的第一个单元格是否是日期时间对象。我正在为它做以下操作。请您告诉我是否有更好的方法可以做到这一点?
public bool ShouldProcess(DataRow theRow)
{
try
{
Convert.ToDateTime(theRow[0]);
}
catch (Exception)
{
return false;
}
return true;
}
谢谢, -M
答案 0 :(得分:1)
无需放置try/catch
DateTime outDate = null;
DateTime.TryParse(theRow[0], out outDate);
if(outDate != DateTime.MinDate)
{
//Successfully converted
}
答案 1 :(得分:1)
您可以使用
if(theRow[0] is DateTime)
return true;
else
return false
is
关键字检查左侧的类型,看它是否与右侧给出的类型兼容。
答案 2 :(得分:1)
您是否尝试过if (theRow[0] is DateTime)
?
答案 3 :(得分:0)
而是看看使用
DateTime.TryParse Method 甚至DateTime.TryParseExact Method
请记住,这些方法返回一个bool值,因此您可以使用它来返回bool值。
类似
DateTime dateVal;
return DateTime.TryParse(theRow[0], out dateVal);