zoukankan      html  css  js  c++  java
  • C# 运算符

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

    下表列出了按优先级顺序分组的 C# 运算符。每个组中的运算符具有相同的优先级。

    运算符类别 运算符

    基本

    x.y

    f(x)

    a[x]

    x++

    x--

    new

    typeof

    checked

    unchecked

    ->

    一元

    +

    -

    !

    ~

    ++x

    --x

    (T)x

    True

    False

    &

    sizeof

    乘法

    *

    /

    %

    加法

    +

    -

    变换

    <<

    >>

    关系和类型检测

    <

    >

    <=

    >=

    is

    as

    相等

    ==

    !=

    逻辑“与”

    &

    逻辑 XOR

    ^

    逻辑“或”

    |

    条件 AND

    &&

    条件 OR

    ||

    条件运算

    ?:

    赋值

    =

    +=

    -=

    *=

    /=

    %=

    &=

    |=

    ^=

    <<=

    >>=

    ??

    算术溢出

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

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

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

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

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

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

  • 相关阅读:
    linux串口
    在demo板上用串口和AT指令调试GPRS模块
    发送短信
    html
    JavaScript
    frp
    sunke推荐
    ubus
    2021-8
    缓存一致性协议
  • 原文地址:https://www.cnblogs.com/love2wllw/p/1730659.html
Copyright © 2011-2022 走看看