【发布时间】:2016-07-04 09:55:25
【问题描述】:
这里的问题是
编写一个程序来构造一个类“MyString”,它有一个字符串和该字符串的长度作为其数据成员。现在重载 '-' 运算符以将字符串复制到另一个字符串中。
我不明白如何做到这一点..我编写了一个代码,当我尝试在 main 中使用它时显示以下 错误:
错误 1 运算符“-”不能应用于“字符串”和“字符串”类型的操作数
我的代码是:
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;
}
}
请告诉我如何重载这个操作符
【问题讨论】:
-
有一个来自 MSDN 的示例,如何重载运算符:msdn.microsoft.com/en-us/library/aa288467(v=vs.71).aspx
-
天哪,千万不要这样做。这是我见过的最糟糕的运算符重载用法。这违反了关于正确和正确使用运算符重载的所有准则。如果某本书或老师建议您这样做,请买一本更好的书或更好的老师,因为您拥有的书很糟糕。
标签: c# string visual-studio operator-overloading