arr [0] ++和++ arr [0]之间的区别

Ric*_*III 1 c# arrays pre-increment post-increment

在C#中,代码之间是否存在差异(所有语句都在一个语句中,而不是较大的语句的一部分)arr[0]++;++arr[0];

我完全理解,在C/C++/Objective-C中,这不会做同样的事情,第一种情况是在arr的第0个索引处获取值并将该值递增1,而第二种情况则增加指针值arr,并没有对它的第0个位置做任何事情(相同arr[1]; arr++;).

感谢某事,他提醒我在C#和C/C++/Obj-C中也是如此.

但是,C#中的两个语句之间是否存在差异?

Tho*_*que 11

arr[0]++返回第一个元素的值arr,然后递增它.

++arr[0]递增第一个元素的值arr,然后返回它

所不同的只是,如果你想利用这个作为一个较长的指令的部分事项.例如 :

arr[0] = 42;
int x = arr[0]++; // x is now 42, arr[0] is now 43
Run Code Online (Sandbox Code Playgroud)

不一样:

arr[0] = 42;
int x = ++arr[0]; // x is now 43, arr[0] is now 43
Run Code Online (Sandbox Code Playgroud)