用C#对类的数组进行排序
本文关键字:排序 数组 | 更新日期: 2023-09-27 17:57:54
在我的程序中,我有一个这样的类:
Class Customer{
double Start;
double Finish;
double Wait;
}
我创建了一个此类数组:
Customer[] customer = new Customer[300];
如何根据起始值降序或升序对数组进行排序?
谢谢。。。
您可以使用Array.Sort方法对数组进行适当排序:
Array.Sort(customer, (x, y) => x.Start.CompareTo(y.Start));
或按降序排列
Array.Sort(customer, (x, y) => y.Start.CompareTo(x.Start));
如果您更喜欢使用Customer
的List
,但是您可以在数组上应用相同的函数:
List<Customer> customerList = new List<Customer>;
var orderedCustomerList = customerList.OrderBy(item => item.Start);
参考:
Enumerable.OrderBy方法
Enumerable.OrderByDescending方法
按Start
:升序排列
var sortedCustomers = customer.OrderBy(c => c.Start);
按Start
:降序排列
var sortedCustomers = customer.OrderByDescending(c => c.Start);
您需要使用icomparer,并且需要在类中实现icocomparer后编写自定义代码
您需要为Customer类实现IComparable。
http://msdn.microsoft.com/en-us/library/system.icomparable%28v=vs.80%29.aspx
C#教程-排序算法
排序算法
您也可以使用LINQ动态排序与LINQ
如何在C#中按特定字段对对象数组进行排序?