以下代码的结果不同如果它在后台启动调试器或没有调试器.如果开启优化,那么差异就在那里.
这是结果:
- >与优化:1000 2008 3016 1001 2009 3007 ...
- >无优化(如预期)1000 1008 1016 1001 1009 1017 ...
码:
using System;
using System.Diagnostics;
using System.Runtime.CompilerServices;
namespace OptimizerTest
{
public class Test
{
int dummy;
public void TestFunction(int stepWidth)
// stepWidth must be a parameter
{
for (int step = 0; step < stepWidth; step++)
{
dummy = step + 1000;
// addition with constant ( same value as later !)
for (int x = 0; x < 20; x += …Run Code Online (Sandbox Code Playgroud)