c#问题 二元运算符重载

//二元运算符的参数之一必须是包含类型,这里是怎么回事呢,下面的不等于号和等于号都有这样的错误提示,请高手们帮个忙指点下,先谢谢了 public class Program { public static void Main() { example exa = new example(); exa.outPut(); } } class example { public void outPut() { if ("1" == "1") { Console.WriteLine(true); } } public static bool operator ==(string s,string t){//二元运算符的参数之一必须是包含类型,这里是怎么回事呢,下面的不等于号也有这样的错误提示 if (s.Length ==t.Length) return true; else return false; } public static bool operator !=(string s, string t) { return !(s==t); } public override bool Equals(object obj) { return base.Equals(obj); } public override int GetHashCode() { return base.GetHashCode(); } }

string是c#的基本类型,不可以对它的运算符进行重载,int,double等类型也是一样,应该是这样: public static bool operator ==(example s,example t) public static bool operator !=(example s, example t)

采纳哦
温馨提示:答案为网友推荐,仅供参考
相似回答