关于List<>.Sort不能排序的问题
以下代码 不能正确 排序 为什么
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
List<point> ps = new List<point>();
ps.Add(new point(0.0012));
ps.Add(new point(0.000002));
ps.Add(new point(0.4));
ps.Add(new point(0.00002));
ps.Add(new point(0.098));
ps.Sort((point p1, point p2) =>
{
if (p1.x - p2.x < 1e-10)
return 0;
if (p1.x > p2.x)
return 1;
else
return -1;
});
foreach (point p in ps)
Console.WriteLine(p);
}
}
public class point
{
public double x;
public point(double d)
{
x = d;
}
public override string ToString()
{
return x.ToString();
}
}
}
------解决方案--------------------
ps.Sort((point p1, point p2) =>
{
if (System.Math.Abs(p1.x - p2.x) < 1e-10) return 0;
if (p1.x > p2.x)
return 1;
else
return -1;
});