C# a++ 與 ++a 的區別


C# a++++a 的區別

運行環境:Window7 64bit,.NetFramework4.61,C# 6.0; 編者:烏龍哈里 2017-02-21


查資料時看到別人的寫法 while(++a<n) 不禁想了下,到底能循環幾次。上試驗代碼:

示例1:

int n = 3;
int a = 0;
while (++a < n)
{
    Console.WriteLine(a);
}
Console.WriteLine($"final {a}");
Console.WriteLine("=====");
a = 0;
while (a++ < n)
{
    Console.WriteLine(a);
}
Console.WriteLine($"final {a}");
/*輸出顯示:
1
2
final 3
=====
1
2
3
final 4
*/


再來個更直觀的示例2:

int a = 0;
bool b = ++a > 0 ? true : false;
Console.WriteLine($"a=0,++a>0 :{b},final a={a}");
a = 0;
b = a++ > 0 ? true : false;
Console.WriteLine($"a=0,a++>0 :{b},final a={a}");
/*輸出顯示:
a=0,++a>0 :True,final a=1
a=0,a++>0 :False,final a=1
*/

結論:++a 是先 +1 后把結果放進了 a,再用a去做其他事;而 a++ 則是先用 a 做其他事,然后 a 再來+1。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM