다음과 같은 문제점이 있으며 그 원인을 찾을 수 없습니다. 도움을 많이 주시면 감사하겠습니다.list.Sort ArgumentException 오류 : IComparer가 0 (null)을 반환하지 않습니다
코드 : 실행하면
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;
}
});
, 내가 IComparer 0 (NULL)을 반환하지 않는 것을 말하는 경우 ArgumentException을받을. 그러나 실제로 -1, 0 및 1 이외의 다른 것을 반환 할 수 없습니까?
도움 주셔서 감사합니다.
아, BTW 난 .NET 3.5
0을 반환하지 않습니다. 어디에서 볼 수 있습니까? else 블럭 _did_에서의 계산이 0과 같다고하더라도, 그것은 알려지지 않았다. –