用C#对类的数组进行排序

本文关键字:排序 数组 | 更新日期: 2023-09-27 17:57:54

在我的程序中,我有一个这样的类:

Class Customer{
    double Start;
    double Finish;
    double Wait;
}

我创建了一个此类数组:

Customer[] customer = new Customer[300];

如何根据起始值降序或升序对数组进行排序?

谢谢。。。

用C#对类的数组进行排序

您可以使用Array.Sort方法对数组进行适当排序:

Array.Sort(customer, (x, y) => x.Start.CompareTo(y.Start));

或按降序排列

Array.Sort(customer, (x, y) => y.Start.CompareTo(x.Start));

如果您更喜欢使用CustomerList,但是您可以在数组上应用相同的函数:

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#中按特定字段对对象数组进行排序?