Компилятор C # вычисляет математику на константах?
Учитывая следующий код:
const int constA = 10;
const int constB = 10;
function GetX(int input) {
int x = constA * constB * input;
...
return x;
}
Будет ли .Net компиляторзаменить» выражение и положить 1000, поэтому расчет выигралповторяться снова и снова?
В какой ситуации код будет работать быстрее всего:
int x = constA * constB * input;
int x = 10 * 10 * input;
int x = 100 * input;
Я думаю, вариант 3 будет быстрее, чем 2, но иногда не самый читаемый вариант. Компилятор распознает подобные шаблоны и соответственно оптимизирует их?