首页 文章

是否有基于变量自动重新排序代码语句的机制?

提问于
浏览
-3

如果您有一个变量X和Y并且您将此代码应用于它们:

int x = 10;
int y = 0;
x++;
y = x;
out(y);

然后代码的顺序对输出至关重要 .

My question :是否有关键字让计算机按特定顺序运行代码,具体取决于变量?

selOrder 是一个关键字 I just made up ,为了这个例子 . 它获得一个布尔值,并确定首先执行哪一行 .

example:
{
      int x = 10;
      int y = 0;
      bool order = true;
      selOrder(order)
      {
          x++;
      }
      {
          y = x;
      }
      out(y);
}

出:11

这个例子非常荒谬,它让这个问题看起来很可悲,但我完全认真,尽管在这个例子中这个关键词是没用的 . 我偶然发现了许多代码方案,它可能非常漂亮 .

1 回答

  • 5

    在C#中没有关键字 . 以下是一些选项:

    if (order)
    {
        x++;
        y = x;
    }
    else
    {
        y = x;
        x++;
    }
    

    或者:(这允许您只键入一次每个部分,但读取和运行更复杂)

    Action firstAction = () => x++;
    Action secondAction = () => y = x;
    if (order)
    {
        firstAction();
        secondAction();
    }
    else
    {
        secondAction();
        firstAction();
    }
    

相关问题