• 对操作符的重载和转换操作符--------------c#


    这种写法能 自由自在的使用 加减乘除等操作符: 先定义一个类

      public sealed class chongzai
        {
            public Int32 canshu1;
    
             //重载操作符 + ,参数必须包含一个以上当前的类型chongzai.
            public static Int32 operator +(chongzai s, Int32 c)
            {
                return (s.canshu1 + c);
            }
    
            //转换操作符,,,可以用=号,将string转换成 chongzai类型,这个implicit是隐式的。
            public static implicit operator chongzai(string s)
            {
                return new chongzai() { canshu1 = Convert.ToInt32(s) };
            }
    
            //转换操作符,也可以将当前类型的一个参数,转换成string类型,这个explicit是显式的。
            public static explicit operator string(chongzai s)
            {
                return s.canshu1.ToString();
            }
        }

    然后就可以用了

     chongzai c1 = new chongzai() { canshu1 = 34 };
                chongzai c2 = new chongzai() { canshu1 = 78 };
    
                Int32 klkkl = c1 + 3;//操作符重载
    
                string s1 = (string)c2;//转换操作符。。显式
    
                c2 = "1024";//转换操作符。。隐式
    
                Console.WriteLine("操作符重载结果:{0}"+klkkl);
                Console.WriteLine("显示转换操作符结果:{0}" + s1);
                Console.WriteLine("隐式转换操作符结果:{0}" + c2.canshu1);
                Console.ReadKey();
  • 相关阅读:
    Spring Boot
    java 解析命令行参数
    idea 打包java程序
    Dynomite 安装配置
    python 装饰器
    IntelliJ IDEA教程
    ubuntu14.04 rabbitmq安装与使用 --修改RabbitMQ数据存储位置
    ribbbitMq 教程,详细
    spring 的 切片Aspect 最常用记录方法执行时间
    Spring-data-jpa 常用的时间注解
  • 原文地址:https://www.cnblogs.com/xiaoleye/p/5192064.html
Copyright © 2020-2023  润新知