• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
4℃空间
众人笑我痴 我笑他人看不懂
   首页    新随笔    联系   管理    订阅  订阅

implicit 与 explicit 的区别(笔记)

    public class RMB
    {
        public int Yuan = 0;

        public RMB(int yuan)
        {
            Yuan = yuan;
        }

        public static RMB operator +(RMB rmb1, RMB rmb2)
        {//一式
            return new RMB(rmb1.Yuan + rmb2.Yuan);
        }

        public static implicit operator int(RMB rmb)
        {//二式:implicit实现的是强类型转换
            return rmb.Yuan;
        }

        public static implicit operator RMB(int yuan)
        {//三式:implicit实现的是强类型转换
            return new RMB(yuan);
        }

        public static explicit operator RMB(float yuan)
        {//四式:explicit实现的是隐式类型转换,在外部需要进行强类型转换
            return new RMB((int)yuan);
        }
    }

调用

            RMB rmb1 = new RMB(1);
            RMB rmb2 = new RMB(2);
            RMB rmb3 = rmb1 + rmb2;//一式
            int yuan = rmb3;//二式
            RMB rmb4 = 5;//三式:implicit实现的是强类型转换
            RMB rmb5 = (RMB)5f;//四式:explicit实现的是隐式类型转换,在外部需要进行强类型转换

posted @ 2011-10-10 14:07  magic_evan  阅读(1297)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3