我很困惑!
今天是11月3日
DateTime DateTime = new DateTime(2010,11,3);
long shazbot = 1000000000 * DateTime.Day;
shazbot 出现在 -1294967296
啊???
我很困惑!
今天是11月3日
DateTime DateTime = new DateTime(2010,11,3);
long shazbot = 1000000000 * DateTime.Day;
shazbot 出现在 -1294967296
啊???
shazbot
可能是 a long
,但两者都不1000000000
是DateTime.Day
。因此,C#int
首先进行乘法运算(这会导致溢出),然后将其转换为 along
以存储在shazbot
.
如果您想要一个long
结果,请将其中一个设为 a long
,如下所示:
long shazbot = 1000000000L * DateTime.Day;
编辑:如果您使用 C#l
而不是L
. 固定的。
长这样:
long shazbot = 1000000000L * DateTime.Day;