В процессе "развлечений" с цифрами, появился вопрос
int a = 256;byte b = (byte)a; Console.WriteLine(b);</pre>
Вот это выполняется без проблем. До 255 включительно переменная b спокойно принимает значение переменной a. Дальше идёт по циклу и начинается с нуля.
Но вот если взять и сделать переменную a константой, то начинаются проблемы:
const int a = 256;byte b = (byte)a; Console.WriteLine(b);</pre>
До 255 тоже без проблем, а вот дальше даже с явным приведением типа, всё равно выбивает ошибку.
Почему возникает эта ошибка, и как можно обойти компилятор и таки провести операцию?