我今天正在处理一些遗留代码,并注意到一些奇怪的东西。我们有一些旧的 ADO .NET 代码将一些数据从数据库读取到DataTable
.
在某个时间点,以下代码
SubscriptionDT.Rows[0]["LastShownBenefits"].ToString().Substring(0, 10)
回来
2001-01-01
但是,现在它返回
1/1/2001 1
如果我快速观察SubscriptionDT.Rows[0]["LastShownBenefits"]
,它似乎能够推断出类型是System.DateTime
. (此列是DateTime
数据库中的一个)。但是,我有一种感觉,在我们将项目升级到 .NET 3.5 之前,这可能被认为是System.Object
. 显然,调用.ToString()
会在两者之间返回不同的结果......
我的问题是:
1)我对类型推断是否正确?我认为可能是这种情况,因为该var
关键字是在 .NET 3.5 中引入的。
2) 是否有任何可用于此更改(或类似更改)的文档?我一直在搜索 MSDN 有一段时间了,但一直没有找到任何东西。