有没有更好的方法来检查数据行中的类型?

时间:2011-02-17 06:34:03

标签: c# c#-3.0

我必须检查我的datarow中的第一个单元格是否是日期时间对象。我正在为它做以下操作。请您告诉我是否有更好的方法可以做到这一点?

public bool ShouldProcess(DataRow theRow)
        {
            try
            {                
                Convert.ToDateTime(theRow[0]);
            }
            catch (Exception)
            {
                return false;
            }

            return true;
        }

谢谢, -M

4 个答案:

答案 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);