C#的自增和自減操作符

來源:互聯網
上載者:User

自增操作符++對變數的值加1,而自減操作符--對變數的值減速1。它們適合於sbyte,byte,short,ushort,int,uint,long,ulong,char,float,double,decimal和任何enum類型。比如,假設一個整數x的值為9,那麼執行x++之後的值為10。

注意:自增和自減操作符的運算元必須是一個變數,一個屬性訪問器或一個索引指標訪問器,而不能是常量或者其它的運算式。比如5++和(x+)--都是非法的。如果運算元是一個訪問器,那麼這個訪問器必須同時支援讀和寫。

自增和自減操作符又有前尾碼之分。對於首碼操作符,遵循的原則是“先增減,後使用”,而尾碼操作符則正好相反,是“先使用,後增減”。我們用例子來說明這個問題。

程式清單7-7:

using System;class Test{  public static void Main(){    int x=5;    int y=x++;    Console.WriteLine(y);    y=++x;    Console.WriteLine(y);  }}

第一次是先使用後加,所以輸出為5,第二次先加後使用,輸出為7。

再看一個例子。

程式清單7-8:

using System;class Test{  public static void Main(){    int x=5;    Console.WriteLine((x++)+(x++)+(x++));    int y=(x++)+(x++)+(x++);    Console.WriteLine(y);  }}


程式啟動並執行結果是:
18
27

讀者可能對輸出結果感到難以理解。其實編譯的過程是這樣:編譯器先對整個運算式掃描,先把x的原值取出來,對錶達式求解後,再對每個x執行++運算。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.