一个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);  
       }  
你的问题出在这儿