.NET Framework 3.5切换到.NET Framework 4.7.2后,类似model.RegStateDate = Convert.ToDateTime(ds.Tables[0].Rows[0][“RegStateDate”].ToString()); 会报错:该字符串未被识别为有效的 DateTime 。
改为: model.RegStateDate = (DateTime)(ds.Tables[0].Rows[0][“RegStateDate”]); 就好了。
原因为:在.NET Framework 3.5中,数据类型的处理相对宽松,它允许将不同类型的数据直接赋值给DateTime类型的变量,而不需要进行显式的转换。这意味着,如果数据库中的值可以被隐式转换为DateTime类型,那么在.NET Framework 3.5中就不会报错。
然而,这种做法可能会导致潜在的问题,因为它依赖于隐式转换,而隐式转换可能会在某些情况下失败,导致运行时错误。因此,即使在.NET Framework 3.5中不报错,也建议使用显式转换来确保代码的健壮性。
该字符串未被识别为有效的 DateTime
最新推荐文章于 2024-05-17 10:54:14 发布