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

时间:2013-02-23 13:25:23

标签: c#

如果您有变量X和Y,则将此代码应用于它们:

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

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

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

selOrder 是一个关键字我刚刚编写,为了这个例子。它得到一个布尔值,并确定首先执行哪一行。

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

out:11

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

1 个答案:

答案 0 :(得分: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();
}