我很困惑!
今天是 11 月 3 日
DateTime DateTime = new DateTime(2010,11,3);
long shazbot = 1000000000 * DateTime.Day;
shazbot 出来-1294967296
嗯???
最佳答案
shazbot
可能是一个long
,但1000000000
或DateTime.Day
都不是。因此,C# 首先执行 int
乘法(这会导致溢出),然后将其转换为 long
以存储在 shazbot
中。
如果你想要一个long
结果,把其中一个变成一个long
,像这样:
long shazbot = 1000000000L * DateTime.Day;
编辑:如果您使用 l
而不是 L
,C# 会给您一个警告。固定。
关于c# - 1000000000 * 3 = -1294967296?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4087906/