2015-02-06 73 views
-3

這些一元運算符在C#中有什麼區別? 。 你能舉個例子嗎?一元運算符的區別(+ =,= +,++ x,x ++)

請提供每個的名稱。 :)

+ = VS = +

++ X VS X ++

+1

用什麼語言? – 2015-02-06 03:51:45

+2

@remyabel:我非常肯定這些操作員會表現出相同的語言。 – nxasdf 2015-02-06 04:10:40

回答

4

這無疑被回答過了,但無論如何...

他們在如何改變的值不同,並他們如何返回結果。

前兩個+==+的行爲方式是第一個增量變量,另一個設置變量。他們不相關。注意下面的代碼:

// += 
x = 1; 
printf(x += 1); // outputs 2, the same as x = x+1 
printf(x);  // outputs 2 

// =+ 
x = 1; 
printf(x =+ 1); // outputs 1, the same as x = 1; 
printf(x);  // outputs 1 

接下來的兩,++xx++,在順序不同的功能。 ++x將使您的變量增加1並返回結果。 x++將由1

// ++x 
x = 1; 
printf(++x); // outputs 2, the same as x = x+1 
printf(x); // outputs 2 

// x++ 
x = 1; 
printf(x++); // outputs 1 
printf(x); // outputs 2 

他們是for循環和while圈最有用返回結果和增量。

在速度方面,++x被認爲是快了很多比x++因爲x++需要創建一個內部的臨時變量來存儲值,增加主變,但返回臨時變量,基本上都是使用更多的操作。我一個looong時間以前就學會這一點,我不知道這是否仍然適用

0

讓我們可視化首當其衝,+ =和= +。

因爲 「+」 是動作, 「=」 是指配,所以

+ =是添加BEFORE分配

= +是另一種方式:後添加分配

同樣,

++ x是 「增量則返回」

x ++是「return then increase」

相關問題