摘要:
一、C#中的“短路”逻辑符:C#中“逻辑与”和“逻辑或”都是短路的。所谓“短路”,意味着对于“与”而言,只要一个是false则忽略后面布尔表达式,直接返回false;“或”相反——只要一个是true直接返回true。下面看一个例子: int i = 0; if (false && 1 / i != 0) { Console.WriteLine("通过短路与"); } else { Console.WriteLine("未通过... 阅读全文
摘要:
一、“/”运算符:C#中默认的“/”是取整除法(不四舍五入)。譬如C#中1/2默认返回一个整数0.但是VB.NET中“/”返回一个Double类型的数值(相当于C#中1.0/2的效果)。在做这类运算时候,VB.NET会把被除数和除数提升到Double类型,因此1/0在VB.NET不是错误(因为这个表达式被解析成:1/CDbl(0))。结果CDbl(0)是一个接近于0的,但不是等于0的浮点数(可以理解为“正无穷小”),那么结果是“正无穷大”。但C#在做"/"时候,由于两个都是整数,因此直接做整数相除,抛出异常(如果尝试在C#中1.0/0,可以得到和VB.NET中一样的结论)。 阅读全文