为什么C#编译器不会优化不必要的按位操作?

时间:2018-03-31 17:22:10

标签: c# compiler-optimization

我意识到这个问题的答案很可能是因为它只是没有足够的兴趣来进行优化,但是当我试图向ReSharper提供关于标记不必要的逐位操作的反馈时就开始了。

我很好奇是否编译器没有优化这样的原因:

uint a = 0x33;
uint b = a & 0xffffffff;

'&'没有做任何事情(不论a的价值如何),但保留在IL版本中:

IL_0000: ldc.i4.s 51
IL_0002: ldc.i4.m1
IL_0003: and

0 个答案:

没有答案