如何超载' - '运算符复制字符串

时间:2016-07-04 09:55:25

标签: c# string visual-studio operator-overloading

这里的问题是

  

编写一个程序来构建一个类" MyString"其中包含一个字符串和该字符串的长度作为其数据成员。现在过载' - '运算符将字符串复制到另一个字符串。

我不明白如何做到这一点..我已经编写了一段代码,当我试图在main中使用时,它会显示以下错误:< / p>

  

错误1运营商&#39; - &#39;不能应用于&#39; string&#39;类型的操作数和&#39;字符串&#39;

我的代码是:

public class MyString
{       
    public string s="SILADITYA";
    //public string this[string s]{ get; set; }

    public static string operator -(string s1, MyString m)
    {
        s1 = String.Copy(m.s);
        return s1;
    }
}
class Program
{
    static void Main(string[] args)
    {
        MyString m = new MyString();

        string s1 = s1 - m.s;

    }
}

请告诉我如何重载这个opoerator

1 个答案:

答案 0 :(得分:0)

您的代码是正确的,只需在从Main

调用它时进行此更改即可
 string s1 = string.Empty;
 s1 = s1 - m;

由于您的运算符过载需要string and MyString参数并且您提供String and String

,因此失败了