在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
#line
#line default
#region-#endregion