为了账号安全,请及时绑定邮箱和手机立即绑定

关于=的重载

在某本参考书上看到 = 符号是可以重载的,求大神帮忙看一下这段代码

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;


namespace Test

{

   

    class Program

    {

        static void Main(string []args)

        {

            EqualClass equalstr = "重载“=”运算符";

            string str = equalstr;

            Console.Write(str);

            Console.Read();

        }

        class EqualClass

        {

            private string _str;

            private EqualClass(string str)

            {

                this._str = str;

            }

            public static implicit operator EqualClass(string str)

            {

                return new EqualClass(str);

            }

            public static implicit operator string(EqualClass mystr)

            {

                return mystr._str;

            }

        }

    }

}


正在回答

2 回答

这不是前面刚讲的隐式类型转换吗,怎么变成重载'='号了


0 回复 有任何疑惑可以回复我~

 隐式转换

    public static implicit operator EqualClass(string str)

            {

                return new EqualClass(str);    //这不是返回 重新创建了一个新对象去重载 ‘=’,看代码好像是符合逻辑。。

            }


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C#面向对象编程
  • 参与学习       68858    人
  • 解答问题       153    个

本系列教程主要是,带你学习C#面向对象编程的编程思想、编程技巧

进入课程

关于=的重载

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信