代码之家  ›  专栏  ›  技术社区  ›  Fredrik Mörk

i++和++i之间的区别是什么?[副本]

  •  1
  • Fredrik Mörk  · 技术社区  · 7 年前

    可能重复:
    In C# what is the difference between myInt++ and ++myInt?

    重复: 在C#中,myInt++和++myInt之间有什么区别?

    请用.NET。

    使现代化 :任何人都可以发布一个要使用的示例场景,因为两者看起来都非常相似。

    4 回复  |  直到 9 年前
        1
  •  8
  •   Paul Dixon    17 年前
    • i++ 是后增量,表示此表达式返回i的原始值,然后将其递增。
    • ++i 是预增量,表示此表达式递增i,并返回新值

        2
  •  2
  •   Amit G    17 年前
    int i = 0;
    Console.WriteLine(++i); // prints 1
    Console.WriteLine(i++); // prints 1 also
    Console.WriteLine(i); // prints 2
    
        3
  •  1
  •   this. __curious_geek    17 年前

    您可以查看下面的示例。。

    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
    
        4
  •  0
  •   Tom    17 年前

    更清楚地说:

    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"
    

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

    推荐文章