日期:2014-05-18  浏览次数:20701 次

一个C#怪问题
我定义了一个level类,继承自System.IComparable类,定义了一个方法如下:
  public static bool operator !=(Level l, Level r)
  {
  return !(l == r);
  }
不是很明白这个方法是什么意思,但是程序运行到这个地方的时候老报错,报错内容是:未处理的“System.StackOverflowException”类型的异常出现
帮忙解释下上边那个方法是什么意思,这个地方的错误怎么解决

------解决方案--------------------
你这个不会是陷入死循环了吧?
那个==是怎样定义的呢?
------解决方案--------------------
public static int Compare(Level l, Level r) 

if (l == r) 

return 0; 

if ((l == null) && (r == null)) 

return 0; 

if (l == null) 

return -1; 

if (r == null) 

return 1; 

return (l.m_levelValue - r.m_levelValue); 

你的问题出在这儿