shazbot
может быть long
, но не может быть 1000000000
или DateTime.Day
.Итак, C # сначала int
умножает (что приводит к переполнению), а затем преобразует его в long
для хранения в shazbot
.
Если вы хотите получить результат long
, сделайте одно из нихa long
, вот так:
long shazbot = 1000000000L * DateTime.Day;
Редактировать: C # выдает предупреждение, если вы используете l
вместо L
.Исправлено.