我需要将此代码从java转换为c#..
points = points.sort(function(a, b) {
return a.angle - b.angle;
});
我试过这个
for (var i = 0; i < points.Count-1; i++)
{
for (var j = i + 1; j < points.Count; j++)
{
if (points[i].angle > points[j].angle)
{
punct aux = points[i];
points[i] = points[j];
points[j] = aux;
}
}
}
但它没有奏效.. 有什么帮助吗?
答案 0 :(得分:4)
使用LINQ,假设Angle
是一个可排序的属性,如decimal
,integer
等:
var result = points.OrderBy(p => p.Angle);
如果您的Angle
是一个非常重要的对象,或者需要自定义排序,您可以让它实现IComparable<T>
并编写您自己的比较。