追梦人.Net学习日记

  ASP.NET学习,需要我们去实践中模索,记录一些平时学习中的点点滴滴.....

   :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
C# 运算符 

C# 提供大量运算符,这些运算符是指定在表达式中执行哪些操作的符号。C# 预定义通常的算术和逻辑运算符以及在下表中显示的各种其他运算符。通常允许对枚举进行整型运算,例如 ==!=<><=>=binary +binary -^&|~++--sizeof()。此外,很多运算符可被用户重载,由此在应用到用户定义的类型时更改这些运算符的含义。

 
运算符类别 运算符

算术

+   -   *   /   %

逻辑(布尔型和按位)

&   |   ^   !   ~   &&   ||   true   false

字符串串联

+

递增、递减

++   --

变换

<<   >>

关系

==   !=   <   >   <=   >=

赋值

=   +=   -=   *=   /=   %=   &=   |=   ^=   <<=   >>=   ??

成员访问

.

索引

[]

转换

()

条件运算

?:

委托串联和移除

+   -

对象创建

new

类型信息

as   is   sizeof   typeof   

溢出异常控制

checked   unchecked

间接寻址和地址

*   ->   []   &


算术溢出算术溢出

算术运算符(+-*/)产生的结果可能会超出涉及的数值类型可能值的范围。详细信息应参考有关特定运算符的章节,而一般情况下:

  • 整数算术溢出或者引发 OverflowException,或者丢弃结果的最高有效位。整数被零除总是引发 DivideByZeroException

  • 浮点算术溢出或被零除从不引发异常,因为浮点类型基于 IEEE 754,因此可以表示无穷和 NaN(不是数字)。

  • 小数算术溢出总是引发 OverflowException。小数被零除总是引发 DivideByZeroException

当发生整数溢出时,产生的结果取决于执行上下文,该上下文可为 checked 或 unchecked。在 checked 上下文中引发 OverflowException。在未选中的上下文中,放弃结果的最高有效位并继续执行。因此,C# 使您有机会选择处理或忽略溢出。

除算术运算符以外,整型之间的强制转换也会导致溢出(例如,将 long 强制转换为 int)并受 checked 或 unchecked 执行的限制。然而,按位运算符和移位运算符永远不会导致溢出。

http://msdn2.microsoft.com/zh-cn/library/6a71f45d.aspx

'Bitwise
And  AndAlso  Or  OrElse  Not  <<  >>

//Bitwise
&  |  ^   ~  <<  >>
//-----------------------------------------------------------------------------

'Logical
And  AndAlso  Or  OrElse  Not

//Logical
&&  ||   !

posted on 2006-10-21 14:40  ZmStudio.CN  阅读(264)  评论(0)    收藏  举报