在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