gpt4 book ai didi

c# - 我真正的意思是什么?

转载 作者:太空狗 更新时间:2023-10-29 18:02:17 24 4
gpt4 key购买 nike

这个问题已经问了很多遍了,“i++和++ i有什么区别”。我在What is the difference between i++ and ++i?上也接受了这个答案,我也在许多其他地方看到过这种语言,那就是,“i++的意思是先告诉我i的值,然后递增”,而++ i的意思是先递增i,然后告诉我。值(value)'。

令我感到困惑的是,我没有意识到我们正在讨论在任何一种情况下都为我找回值(value)。我认为i++在语法上等同于:

i = i + 1;

这是一个陈述,而不是一个表达式,所以我根本不知道我将被送回何处。

您能否解释一下该声明的实际含义?

谢谢,

最佳答案

编辑:参见Eric's answer,我是meh。

你是对的。 ++i = i + 1等效,但是要记住的一点是i = i + 1不仅是一个语句,而且还可以用作表达式:

Console.WriteLine((i = i + 1) * 42); // will inc i, and then print i*42
Console.WriteLine(++i * 42); // exactly same

Console.WriteLine(i++ * 42); // will inc i, and print old_i*42
Console.WriteLine((i++) * 42); // exactly same

因此,可以简单地得出以下结论:
// this
int j = ++i * 42;
// behaves like
int j = (i = i + 1) * 42;

// but this
int j = i++ * 42;
// actually behaves like
int prev = i;
i = i + 1;
int j = prev * 42;

关于c# - 我真正的意思是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33071504/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com