Почему компилятор не может сделать вывод, что большое число является длинным?C#

Место общения программистов C#
Anonymous
Почему компилятор не может сделать вывод, что большое число является длинным?

Сообщение Anonymous »

Это компилируется

Код: Выделить всё

var fourGb = (long)4*1024*1024*1024;
Но это не получается

Код: Выделить всё

var fourGb = 4*1024*1024*1024;
С «Операция переполняется во время компиляции в проверенном режиме».

Итак, если компилятор знает, что это произойдет быть переполнением, почему он не может сделать вывод, что тип переменной должен быть длинным?

Подробнее здесь: https://stackoverflow.com/questions/329 ... -is-a-long

Вернуться в «C#»