我有以下問題,我不知道它來自哪裏。我非常感謝幫助。list.Sort ArgumentException錯誤:IComparer不會返回0(空)
代碼:
List<Point> lst = new List<Point>();
lst.Add(new Point(0, -2));
lst.Add(new Point(-1, -2));
lst.Sort(delegate (Point x,Point y)
{
if (x.X == 0)
return -1;
else if (y.X == 0)
return 1;
else
{
double retVal1 = x.Y * 1.0/-x.X;
double retVal2 = y.Y * 1.0/-y.X;
int retVal = -Math.Sign(retVal1 - retVal2);
return retVal;
}
});
如果執行,我收到一個ArgumentException說的IComparer不不返回0(零)。但是,它實際上不能返回除-1,0和1之外的任何其他內容,或者?
非常感謝您的幫助!
啊,順便說一句我使用.NET 3.5
它_doesn't_ return 0你認爲它在哪裏?即使「else」塊中的計算_did_等於零,也不知道。 – 2011-03-28 12:44:58