为了探索C#编译器如何优化代码,我创建了一个简单的测试应用程序。对于每次测试更改,我都会编译应用程序,然后在ILSpy中打开二进制文件。我刚刚注意到一些对我来说很奇怪的事情。显然这是有意的,但是,我想不出编译器这样做的充分理由。考虑以下代码:staticvoidMain(string[]args){inttest_1=1;inttest_2=0;inttest_3=0;if(test_1==1)Console.Write(1);elseif(test_2==1)Console.Write(1);elseif(test_3==1)Console.Write(2);elseConsole.