C#帮助声明变量我将其初始化为

C# help declaring variable i initialize it to

我想声明一个 int 变量 i,将其初始化为 4,然后测试以下递增和递减语句。对获得的输出进行评论。

这是我制作的不完整代码:

    class Program
    {
        static void Main(string[] args)
        {
            int Cash;
            Cash = 10;

            Console.WriteLine("{0}", ++ Cash);
            Console.WriteLine("{0}", Cash);
            Console.WriteLine("{0}", Cash ++);
        }
    }

它给了我

11, 11 11

来自输出。我不确定我是否做对了。如果我错了,有人可以纠正我吗?

++cache= update variable and then take it


cache++ = take value and than update variable

是的,输出正确:

// This line increments the variable then prints its value.
Console.WriteLine("{0}", ++ Cash);
// This prints the value of the (incremented variable)
Console.WriteLine("{0}", Cash);
// The prints the value of the variable *then* increments its value
Console.WriteLine("{0}", Cash ++);
int Cash;
Cash = 10;

Console.WriteLine("{0}", ++ Cash);
Console.WriteLine("{0}", Cash);
Console.WriteLine("{0}", Cash ++);

您将 Cash 初始化为 10(顺便说一句,它应该是小写的)。然后你 preincrementWriteLine() 完成之前。因此它打印 11。接下来只是打印出您的 cash 变量,此时为 11。然后您执行 post increment see link... 打印出 cash 变量,然后递增它。如果您现在 writeLine() 您的 cash 变量,它将是 12。

使用 var++ 或 ++var 都会增加您的 var 值。如果您在写入行上使用 var++,系统会在递增之前打印 var 的值。

如果要从 var 中递减值,请使用 var--。

当您执行 ++Cash 时,它首先 递增变量,然后打印。之后,您只需打印变量,然后在 Cash++ 上打印变量 before 增量。所以是的,你的输出是正确的。

++ 现金是 "Increase Cash by 1 and give it to me" - 它会给你 11

现金则为11

Cash ++ 是 "Give me Cash and then increase it by 1" - 它会给你 11,然后 Cash 会是 12。

类似问题:C# Pre- & Post Increment confusions

您会在此处找到有关您获得的输出的许多有价值的信息:

https://msdn.microsoft.com/en-us/library/36x43w8w.aspx

简短的回答是,您正在那里进行预递增和 post 递增操作,因此在操作后看到结果(在本例中为加一)- 当前变量的值,以及然后是操作前的结果。这就是为什么你三次都看到 11 的原因。

干杯。