在行执行后更新值(类似于var++)

本文关键字:类似于 var++ 更新 执行 | 更新日期: 2023-09-27 18:21:51

我想知道是否可以在行执行后更新一个值,类似于:

int age = 10;
Console.WriteLine(age++);

输出10,但是age紧接着变为11。

我的目标是拥有这样的东西:

int offset = 1;
Console.WriteLine(offset += 4);

但有上述行为。

编辑:我知道你总是可以用两行来完成,但我想知道/希望你能用一行来完成。

在行执行后更新值(类似于var++)

调用函数后更新值:

int offset = 1;
Console.WriteLine(offset);
offset += 4;

你看:

Console.WriteLine(age++);

本质上与相同

Console.WriteLine(age);
age += 1;

如果你只是用老式的方式来维护你的代码,你会让那些以后必须维护代码的开发人员更高兴:

int offset = 1; 
Console.WriteLine(offset); 
offset += 4;

我会杀了那个试图把它串联起来的人,然后让我把它弄明白。认真地

据我所知,您无法重载整数上的++运算符以获得您想要的结果。您也不能嵌套++运算符来多次发布增量。这里也提出了类似的问题:

C/C++多个后增量

普遍的共识是,你只需要使用额外的一行,并编写

Console.WriteLine(offset);
offset += 4;

如果你作弊,你可以这么做。

出于一般风格和理智的目的,我建议不要这样做;但可以将所有这些合并为一行:

Console.WriteLine("{0}", offset, offset += 4);