C# 表達(dá)式 運算符的優(yōu)先級
在計算表達(dá)式時,會按順序處理每個運算符。但這并不意味著必須從左至右地運用這些運算符。例如,考 慮下面的代碼:
varl = var2 + var3;
其中+運算符就是在=運算符之前進(jìn)行計算的。在其他一些情況下,運算符的優(yōu)先級并沒有這么明顯, 例如:
varl = var2 + var3 * var4;
其中*運算符首先計算,其后是+運算符,最后是=運算符,這是標(biāo)準(zhǔn)的數(shù)學(xué)運算順序,其結(jié)果與我們在紙 上進(jìn)行算術(shù)運算的結(jié)果相同。
像這樣的計算,可以使用括號控制運算符的優(yōu)先級,例如:
varl = (var2 + var3) * var4;
首先計算括號中的內(nèi)容,即+運算符在*運算符之前計算。
對于前面介紹的運算符,其優(yōu)先級如下表所示,優(yōu)先級相同的運算符(如*和/)按照從左至右的順序計算。
優(yōu)先級 | 運算符 |
優(yōu) | ++、--(用作前綴)、+、_(-元) |
先 級 | *、/、% |
由 高 到 低 | +、- |
=、*=> /=、%=、+=、_ = | |
++> (用作后綴) |
注意:
如上所述,括號可用于:&^洗_序,.另外,和-“用作后_^算符時,在概念上其優(yōu)先級最低,如表 3-10所殺。它們不對賦值表達(dá)式的結(jié)果產(chǎn)生影響,杈以可以認(rèn)為它伯的優(yōu)先級比所有其他運算符都高。但是, 它們會在計算表達(dá)式后改k操作數(shù)的值,所以認(rèn)為它們的優(yōu)先級如表340所示會十分方便。
點擊加載更多評論>>