Я попробовал следующий код:
int x, y;
x = y = int.MaxValue;
int result = x + y;
Этот код работает отлично, и результат будет содержать -2 (я знаю почему).
Но при этом:
const int x = int.MaxValue;
const int y = int.MaxValue;
int result = x + y;
Это не скомпилируется из-за проблемы с переполнением. Почему?