增量和减量运算符C#

时间:2017-09-29 12:24:53

标签: c#

我不确定我是否应该在这个网站上发布这个问题,但现在就去了。 我正在阅读Essential C#6.0,我遇到了这一段

  

前缀运算符的结果是变量的值   在它增加或减少之前。后缀运算符的结果是变量增加后的值   递减。

我认为这至少读过10次,但对我而言,接缝与下面的代码完全相反(这不是书中的内容)。任何人都可以解释这是否是我出错的事情,或者这只是书中的错误?我也检查了勘误表,我无法在那里找到它。

using System;

public class Program
{
    public static void Main()
    {
        var a = 23;
        var b = 23;

        var c = a++; //postfix 
        var d = ++b; //prefix

        Console.WriteLine(c); //23
        Console.WriteLine(d); //24

    }
}

1 个答案:

答案 0 :(得分:4)

当然是相反的,operator associativity上也提到了它:

++variablevariable++

  1. 第一种形式是前缀增量操作。操作的结果是操作数增加后的值。
  2. 第二种形式是后缀增量操作。操作的结果是操作数之前的值增加。
  3. 我还没看过那本书,但如果在那里提到那就是一个很大的错误。