私は次の問題があり、どこから来るのか分かりません。私は非常に助けていただければ幸いです。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以外の何も返しませんか?
ありがとうございました!
あ、ところで私は、.NET 3.5
0を返しません。どこに表示されますか? elseブロック_did_の計算がゼロに等しい場合でも、それは分かっていません。 –