LIST对象排序问题

现有装满Customer对象的List<Customer>一个,Customer里面有一属性orderID  是数字

现在想根据Customer.orderID将List<Customer>排序  请问要怎么做?

如果你用的是3.5的framework,用lamda表达式就可以实现,很简单。

假设这里开始构建list:

List<Customer> list=new List<Customer>();

list.add();

.......

--------这里进行排序-----------

list.Sort((customer1, customer2) => customer1.orderID .CompareTo(customer2.orderID ));

就这一句话就可以了。

如果你不是3.5,用上面的语句编译出错的话,可以用显示的委托:

list.Sort(delegate(Customer customer1, Customer customer2) { return customer1.orderID .CompareTo(customer2.orderID ); });

都只需要一句话就行了。

当然还有很多方法都可以实现,比如上面提到得实现Icomparable接口之类的。

补充:

lambda表达式来实现应该是最简洁的了,建议使用这个,就一个表达式就够了,可以少写很多代码。

如果版本不支持的话,就使用匿名委托来实现,也很简洁。

原文地址:https://www.cnblogs.com/furenjian/p/3028219.html