我想知道是否是可能的线excutes,类似于后更新值(类似VAR ++)之后的值:更新行执行
int age = 10;
Console.WriteLine(age++);
输出10,但age
右后变为11。
我的目标是有类似:
int offset = 1;
Console.WriteLine(offset += 4);
但具有上述行为。
编辑:我知道你总是可以做两行,但我想知道/希望你能做到一个。
我想知道是否是可能的线excutes,类似于后更新值(类似VAR ++)之后的值:更新行执行
int age = 10;
Console.WriteLine(age++);
输出10,但age
右后变为11。
我的目标是有类似:
int offset = 1;
Console.WriteLine(offset += 4);
但具有上述行为。
编辑:我知道你总是可以做两行,但我想知道/希望你能做到一个。
你打算做后来保持代码的开发人员如果以旧式的方式做到这一点,会更快乐:
int offset = 1;
Console.WriteLine(offset);
offset += 4;
我想杀了那个试图联系到这个人的人,让我感到困惑。认真。
+1杀死任何人之前:-) – Yahia 2012-01-30 20:40:39
据我所知,你无法在整数上重载++运算符以达到你想要的结果。您也不能将++运算符嵌套多次后递增。 类似的问题在这里问:
C/C++ Post-increment by more than one
普遍的共识是,你只需要使用额外的线,并写
Console.WriteLine(offset);
offset += 4;
,如果你欺骗你可以做到这一点。
我建议反对它的一般风格和良好的意义;但有可能将所有这些组合成一条线:
Console.WriteLine("{0}", offset, offset += 4);
不,我不认为这是可能的。 – 2012-01-30 20:37:22
试图保持一行的任何特定原因?在实践中,复杂的理解单行程序通常会避免使用更易读/可维护的代码。 – 2012-01-30 20:41:04