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