有人可以解释++运算符吗?

Jou*_*aas 0 c# operators

可能重复:
C#:i ++和++ i有什么区别?

我经常看到这个运算符(++).我知道它最终会做什么,但似乎有一些我不理解的规则.例如,如果您在使用它的变量之前或之后放置它似乎很重要.有人可以解释一下吗?

Tim*_*mwi 12

该声明

x++;
Run Code Online (Sandbox Code Playgroud)

完全等同于

x = x + 1;
Run Code Online (Sandbox Code Playgroud)

除了x只计算一次(其有差别,如果它是涉及财产的getter的表达式).

以下两者之间的区别:

DoSomething(x++);   // notice x first, then ++
DoSomething(++x);   // notice ++ first, then x
Run Code Online (Sandbox Code Playgroud)

这是第一个,该方法DoSomething将在增加之前看到之前的值.在第二个中,它将看到新的(递增的)值.x

有关更多信息,请参阅MSDN上的C#操作员.

可以++为您自己的类声明自定义运算符,在这种情况下,运算符可以执行不同的操作.如果要定义自己的++运算符,请参阅MSDN上的运算符重载教程.

  • x ++和x = x + 1完全相同,这不是真的.不相信我?试试吧.字节x = 0; X ++; vs字节x = 0; x = x + 1; 给出不同的结果,因为*其中一个甚至不编译*. (2认同)