关于c#:i ++和++ i有什么区别?

What is the difference between i++ and ++i?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
In C# what is the difference between myInt++ and ++myInt?

复制:在C中,myint++和+myint有什么区别?

在.NET中。

更新:任何人都可以发布一个要使用的示例场景,因为这两个场景看起来非常类似于我。


  • i++是一个后增量,这意味着这个表达式返回i的原始值,然后将其递增。
  • ++i是一个预增量,这意味着这个表达式使i递增,并返回新值。

除了C之外,许多语言都支持这种表达行为。


1
2
3
4
int i = 0;
Console.WriteLine(++i); // prints 1
Console.WriteLine(i++); // prints 1 also
Console.WriteLine(i); // prints 2


您可以查看下面的示例。

1
2
3
4
5
6
7
8
9
10
11
12
int a = 0;
int i = 5;

//Value of a: 0, i: 5

a=i++;

//Value of a: 5, i: 6

a=++i;

//Value of a: 7, i: 7

让它更清楚一点:

1
2
3
4
5
6
7
8
9
i = 0

print i++  // prints 0 and increases i AFTERWARDS
print i    // prints"1"

i = 0

print ++i  // increases i FIRST, and then prints it ("1" )
print i    // prints"1"

正如您所看到的,不同之处在于当变量的值被更新时,在它被读取之前或之后,并在当前语句中使用。