Компилятор 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, но иногда не самый читаемый вариант. Компилятор распознает подобные шаблоны и соответственно оптимизирует их?

Ответы на вопрос(2)

Ваш ответ на вопрос