zoukankan      html  css  js  c++  java
  • .NET 运算符

     

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

    基本

    x.y

    f(x)

    a[x]

    x++

    x--

    new

    typeof

    checked

    unchecked

    ->

    一元

    +

    -

    !

    ~

    ++x

    --x

    (T)x

    True

    False

    &

    sizeof

    乘法

    *

    /

    %

    加法

    +

    -

    变换

    <<

    >>

    关系和类型检测

    <

    >

    <=

    >=

    is

    as

    相等

    ==

    !=

    逻辑“与”

    &

    逻辑 XOR

    ^

    逻辑“或”

    |

    条件 AND

    &&

    条件 OR

    ||

    条件运算

    ?:

    赋值

    =

    +=

    -=

    *=

    /=

    %=

    &=

    |=

    ^=

    <<=

    >>=

    ??

    • 运算符优先级
      1. 前++ 前-- +(正号) -(负号)! ~
      2. * / %
      3. + -
      4. << >>
      5. < > <= >=
      6. == !=
      7. &
      8. ^
      9. |
      10. &&
      11. ||
      12. 赋值运算
      13. 后++ 后--
    • 可重载运算符
         C# 允许用户定义的类型通过使用 operator 关键字定义静态成员函数来重载运算符。但不是所有的运算符都可被重载,下表列出了不能被重载的运算符:
    运算符可重载性

    +-!~++--true 和 false

    可以重载这些一元运算符。

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

    可以重载这些二进制运算符。

    ==!=<><=>=

    比较运算符可以重载(但请参见本表后面的说明)。

    &&||

    条件逻辑运算符不能重载,但可使用能够重载的 & 和 | 进行计算。

    []

    不能重载数组索引运算符,但可定义索引器。

    ()

    不能重载转换运算符,但可定义新的转换运算符(请参见 explicit 和 implicit)。

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

    赋值运算符不能重载,但 += 可使用 + 计算,等等。

    =.?:->newissizeof 和 typeof

    不能重载这些运算符。

    • 语法
    public static Complex operator +(Complex c1, Complex c2)
    
  • 相关阅读:
    Time
    算法与结构
    11
    DateUtils
    Ext.container.Container
    Ext.Component
    extjs布局--只看现象
    Ext下的方法
    充血模式与贫血模式
    ext下的组建,mvc,mvvm
  • 原文地址:https://www.cnblogs.com/liusuqi/p/3107428.html
Copyright © 2011-2022 走看看