使用C#运算符的方法
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/csref/html/vclrfcsharpoperators.htmC# 程序员参考 |
C# 运算符
请参见
C# 提供大量运算符,这些运算符是指定在表达式中执行哪些操作的符号。C# 预定义通常的算术和逻辑运算符以及在下表中显示的各种其他运算符。此外,很多运算符可被用户重载,由此在应用到用户定义的类型时更改这些运算符的含义。
运算符类别 | 运算符 |
---|---|
算术 | +-*/% |
逻辑(布尔型和按位) | &|^!~&&||truefalse |
字符串串联 | + |
递增、递减 | ++-- |
移位 | <<>> |
关系 | ==!=<><=>= |
赋值 | =+=-=*=/=%=&=|=^=<<=>>= |
成员访问 | . |
索引 | [] |
转换 | () |
条件 | ?: |
委托串联和移除 | +- |
创建对象 | new |
类型信息 | asissizeoftypeof |
溢出异常控制 | checkedunchecked |
间接寻址和地址 | *->[]& |
算术溢出
算术运算符(+、-、*、/)产生的结果可能会超出涉及的数值类型可能值的范围。应当参阅 C# Language Reference 一节中有关特定运算符的详细信息,但一般情况下:
- 整数算术溢出或者引发 OverflowException 或者放弃结果的最高有效位(请参见下文)。整数被零除总是引发 DivideByZeroException。
- 浮点算术溢出或被零除从不引发异常,因为浮点类型基于 IEEE 754,因此可以表示无穷和 NaN(不是数字)。
- Decimal 算术溢出总是引发 OverflowException。Decimal 被零除总是引发 DivideByZeroException。
当发生整数溢出时,产生的结果取决于执行上下文,该上下文可为 checked 或 unchecked。在选中的上下文中引发 OverflowException。在未选中的上下文中,放弃结果的最高有效位并继续执行。因此,C# 使您有机会选择处理或忽略溢出。
除算术运算符以外,整型之间的转换也可导致溢出(例如,将 long 转换为 int)并受选中或未选中执行的限制。还要注意,按位运算符和移位运算符从不导致溢出。
请参见
本文地址:http://www.45fan.com/dnjc/71465.html