天天看點

操作符和控制流

在C#中,操作符總是從左向右取值,A()+B()*C(),先計算A()再計算B()再計算C()

Trace.Assert('a' != 'a');弱結果為false會彈出一個斷言失敗對話框

int decimal等資料類型除以零會出錯,但float和double輸出NaN,負數平方根也是NaN

float的上邊界3.4*10^38,溢出上邊界就會存儲為正無窮大Infinity,下邊界為-3.4*10^38,溢出這個邊界就會得到負無窮大-Infinity

常量表達式是C#編譯器在編譯時完成求值的表達式(而不是在程式運作時才能求值),const聲明

條件操作符(三元操作符)要求?和:後面的表達式類型一緻,在判斷類型時不會檢查表達式的上下文,object = f?;"abc":123,會報錯。

C#2.0引入空結合操作符,x??y如果x為null就傳回y,可以“連結”x??y??z傳回第一個不為null的值,否則傳回z

foreach語句,不允許修改item的值,為隻讀屬性。

C#要求switch小節(包括最後一個節點)的結束點“不可到達”,這意味着switch通常以break,return,goto結尾。如果希望switch小節執行另一個switch小節的語句,用goto語句。

C#預處理指令:

#if-#endif 

#if-#elif-#endif

#if-#else-#endif

#define

#undef

#error

#warning

#parama