【发布时间】:2010-11-03 14:12:10
【问题描述】:
我很困惑!
今天是 11 月 3 日
DateTime DateTime = new DateTime(2010,11,3);
long shazbot = 1000000000 * DateTime.Day;
shazbot 出现在 -1294967296
啊???
【问题讨论】:
-
我从未使用过 C#,但看起来你的 long 是 32 位。签。嗯。
-
@Josh,在 C# 中
longs是 64-bit 宽。 -
尝试将另一对 System::Int32 和 System::Int64 相乘。我不是 C# 开发人员,只是感兴趣。
-
@foret:将两种不同的数字类型相乘会导致implicit conversion 从较小的类型变为较大的类型。
System.Int32*System.Int64给你一个System.Int64回。
标签: c# integer-overflow