关于C#中x++,x--和++x,--x的问题

在C#中,x++,x--的优先级是大于++x,--x的。
有表达式:
int x=5;
int y=x++ + ++x;和int z=++x + x++;
这个2个结果虽然都是12,但为什么这2个式子在过程中的x值不同。
y=5+7;z=6+6
按照运算符优先级x++大于++x,不应该都先算x++嘛,z应该等于7+5啊。
如果是z=6+6的话就是正常从左到右计算了。
求解是什么机制。

https://www.guokr.com/blog/471312/

  1. y=x++ + ++x ,x++返回5,x=6;++x=7返回7
  2. z=++x + x++,++x=6返回6;x++返回6,x=7

http://www.cplusplus.com/reference/iterator/move_iterator/operator++/