Официальный компилятор C# делает некоторые интересные вещи, если вы не включать оптимизацию.
Например, простой оператор if:
Код: Выделить всё
int x;
// ... //
if (x == 10)
// do something
Код: Выделить всё
ldloc.0
ldc.i4.s 10
ceq
bne.un.s do_not_do_something
// do something
do_not_do_something:
Код: Выделить всё
ldloc.0
ldc.i4.s 10
ceq
ldc.i4.0
ceq
stloc.1
ldloc.1
brtrue.s do_not_do_something
// do something
do_not_do_something:
Код: Выделить всё
int x, y;
// ... //
y = x == 10;
if (y != 0)
// do something
Подробнее здесь: https://stackoverflow.com/questions/365 ... mized-code
Мобильная версия