【发布时间】:2009-08-20 20:27:20
【问题描述】:
我有这个代码:
DateTime d = DateTime.Today;
long l = d.ToBinary();
object o = (long)l;
d = new DateTime((long)o);
执行此代码时,d = new Date..(最后一行)出现错误。它说参数超出范围;它超出了最大和最小刻度的范围。这似乎很可能,因为使用调试器l 是一个巨大的负数(我不认为滴答声可能是负数)。
是 C# 的 object/long 坏了还是我只是在这里遗漏了什么?我也试过设置DateTimeKind,但什么也没做。
此外,这项工作是在 64 位机器上完成的。(尽管由于 .NET 这应该无关紧要)
【问题讨论】: