C# 跳过数据集中嵌套在foreach中的for循环的日期

C# 跳过数据集中嵌套在foreach中的for循环的日期,c#,dataset,comparison,C#,Dataset,Comparison,我的目标是修剪数据集中的所有字符串数据类型,然后用修剪过的字符串替换“未修剪的” 我遇到以下错误: “ArgumentException未经处理-字符串未被识别为有效的DateTime。无法存储在DateofBirth列中。类型应为DateTime。” 当我运行以下代码时: foreach (DataRow y in ds.Tables[0].Rows) { for (int i = 0; i < ds.Tables[0].Columns.Count -1; i++) {

我的目标是修剪数据集中的所有字符串数据类型,然后用修剪过的字符串替换“未修剪的”

我遇到以下错误: “ArgumentException未经处理-字符串未被识别为有效的DateTime。无法存储在DateofBirth列中。类型应为DateTime。”

当我运行以下代码时:

foreach (DataRow y in ds.Tables[0].Rows)
{
    for (int i = 0; i < ds.Tables[0].Columns.Count -1; i++)
    {
        if (y[i].GetType() != typeof(DateTime))
        {
            string strTrim = y[i].ToString().Trim();
            y[i] = strTrim;
        }
    }
}
foreach(ds.Tables[0]行中的数据行y)
{
对于(int i=0;i
我确信我走的是对的,我就是没办法破解它:/


任何帮助都将不胜感激

如果您只是在查找字符串,为什么要检查
DateTime
?尝试:

if (y[i] is string)
{
    y[i] = ((string)y[i]).Trim();
}

如果您只是在查找字符串,为什么要检查
DateTime
?尝试:

if (y[i] is string)
{
    y[i] = ((string)y[i]).Trim();
}

@斯坦利。谢谢他工作得很出色。谢谢工作得很好。可能是错误的,但是对于
i
:您会错过一列,不是吗?不管你是做
@Raphaël Althaus,我运行了代码,但它仍然对它进行了修剪。我确信计数总是比你引用的任何东西的索引高1,因此“-1”Hmmm。。。看起来很奇怪。嗯,我可能会错过一些东西!可能是错误的,但是对于
i
:您将错过一列,不是吗?不管你是做
@Raphaël Althaus,我运行了代码,但它仍然对它进行了修剪。我确信计数总是比你引用的任何东西的索引高1,因此“-1”Hmmm。。。看起来很奇怪。嗯,我可能会错过一些东西!