X = X ++有什么区别?与X ++ ;?

您以前尝试过吗?


static void Main(string[] args)

{

    int x = 10;

    x = x++;

    Console.WriteLine(x);

}

输出:10。


但对于


static void Main(string[] args)

{

    int x = 10;

    x++;

    Console.WriteLine(x);

}

输出:11。


谁能解释为什么呢?


浮云间
浏览 795回答 3
3回答

慕哥6287543

在分配中,x = x++您首先提取x用于评估右侧表达式的旧值,在本例中为'x';然后,增加x1。最后,x通过赋值语句将表达式求值(10)的结果赋值给。也许等效的代码可以使困境变得清楚:var tmp = x;x++;x = tmp;这等效x = x++于C#中的代码。
打开App,查看更多内容
随时随地看视频慕课网APP