我想知道是否是可能的線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