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表达式来实现应该是最简洁的了,建议使用这个,就一个表达式就够了,可以少写很多代码。

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

posted @ 2013-04-18 13:15  金虹巴巴  阅读(227)  评论(0编辑  收藏  举报