.NET LINQ foreach DATETIME无法将String转换为DateTime异常

时间:2010-07-07 11:49:56

标签: .net linq exception datetime format

我有包含DATE或DATETIME字段的SQL数据表<​​/ p> 这里显示的LINQ语句只是为了获得基本的想法

var testLinq = from t in DBDataContext.Certificates select t;

    foreach (var t in testLinq)
    {
     ....
    }

为简洁而遗漏了{..}中的代码。 但是,只要'foreach'尝试使用t,我就会得到此异常

  

“输入字符串不正确   format。“将字符串转换为   DateTime,解析字符串取   将每个变量放入之前的日期   DateTime对象

如果Linq在foreach循环中处理它,我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

首先,让它像这样

var testLinq = (from t in DBDataContext.Certificates select t).ToList();

foreach (var t in testLinq)
{
 ....
}

并将您的字符串转换为日期时间,如此

DateTime dt = DateTime.Parse("yourString")

如果它不起作用,

DateTime dt = new DateTime(year,month,day);

并使用Convert.ToInt32(yourString.SubString(0,4))等获取您的年,月,日值