zoukankan      html  css  js  c++  java
  • [AaronYang]C#人爱学不学[6]

    不要回头,不要将就,做到这两点,人生就会简单很多幸福很多 --Aaronyang的博客(www.ayjs.net)-www.8mi.me

    1. 运算符,还有哪些你能学到?

     1.1 不安全运算符: sizeof(.net framework1.0和1.1中的)、*、-> 、&

     1.2 checked和unchecked运算符:溢出异常控制运算符

          

    byte类型只能0-255的数,超过就会导致溢出。执行溢出检查用checked,禁止溢出检查用unchecked。

     1.3 类型信息运算符:sizeof(可以确定栈中值类型需要的长度(单位:字节))      is    as      typeof

     1.4 开发很少用到的 << 左位移     >> 右位移,同样的有 <<=    和 >>=    等同于 x=x>>y

     1.5 只要稍微开发时间多一点,就会看到      int? x=1  很多类似这种形式的代码,标记值类型为可空类型,同样的还有 ??运算符,我在前面讲过了

     1.6 运算符的优先级。。。我只能凭感觉,也没多大意义,类型转换大家都会

     1.7 比较,还有 ReferenceEquals() 引用地址比较

     1.8 运算符重载

          在对自己定义的类或者结构进行 运算符(例如+-*%/等)操作,可以重载运算符

          ① 定义MyPoint(两个double)

       public struct MyPoint
        {
            private double x, y;
            public MyPoint(double x, double y) {
                this.x = x;
                this.y = y;
            }
    
            public override string ToString()
            {
                return "("+this.x+","+this.y+")";
            }
        }

          ②定义乘法*操作 :    格式:  public static 返回值 operator 操作符(参数)

      public static MyPoint operator *(MyPoint one, MyPoint two) {
                return new MyPoint(one.x * two.x, one.y * two.y);
            }

          效果:

    同样的你还可以定义其他操作,有些操作符特殊,必须成对重载,例如 ==和!=        >和<     >=和<=

    文章已经迁移,地址:http://www.ayjs.net/post/127.html

  • 相关阅读:
    【案例】ora600
    Oracle 10046 event
    Oracle redo与undo浅析
    BUFFER CACHE和SHARED POOL原理
    oracle体系结构基础
    Oracle-buffer cache、shared pool
    获取oracle数据库对象定义
    ORA-20011
    expdp/impdp中NETWORK_LINK参数使用
    day03-Python基础
  • 原文地址:https://www.cnblogs.com/AaronYang/p/4199015.html
Copyright © 2011-2022 走看看