using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
public class MyPoint
{
public MyPoint(int _pointX, int _pointY)
{
this.PointX = _pointX;
this.PointY = _pointY;
}
public int PointX { get; set; }
public int PointY { get; set; }
}
class MyPointSort:IComparer<MyPoint>
{
public int Compare(MyPoint p1, MyPoint p2)
{
if (p1.PointX < p2.PointX)
{
return 1;
}
else
{
return -1;
}
}
}
class Program
{
static void Main(string[] args)
{
List<MyPoint> listPoint = new List<MyPoint>();
MyPoint p1 = new MyPoint(3, 1);
MyPoint p2 = new MyPoint(2, 9);
MyPoint p3 = new MyPoint(10, 3);
MyPoint p4 = new MyPoint(8, 4);
listPoint.Add(p1);
listPoint.Add(p2);
listPoint.Add(p3);
listPoint.Add(p4);
//@brief 输出list数据
foreach(MyPoint tempPoint in listPoint)
{
Console.Write(tempPoint.PointX);
Console.Write(" {0}",tempPoint.PointY);
Console.WriteLine();
}
//@brief 使用自定义排序方式进行排序
MyPointSort myPointSort = new MyPointSort();
listPoint.Sort(myPointSort);
foreach (MyPoint tempPoint in listPoint)
{
Console.Write(tempPoint.PointX);
Console.Write(" {0}", tempPoint.PointY);
Console.WriteLine();
}
Console.ReadKey();
}
}
}