在我的课程中,我有一个这样的课程:
Class Customer{
double Start;
double Finish;
double Wait;
}
我创建了这个类的数组:
Customer[] customer = new Customer[300];
如何根据起始值Descending或Ascending对此数组进行排序?
谢谢...
答案 0 :(得分:10)
您可以使用Array.Sort方法对数组进行就地排序:
Array.Sort(customer, (x, y) => x.Start.CompareTo(y.Start));
或按降序排列
Array.Sort(customer, (x, y) => y.Start.CompareTo(x.Start));
答案 1 :(得分:8)
如果您希望使用List
Customer
,则可以在数组上应用相同的功能:
List<Customer> customerList = new List<Customer>;
var orderedCustomerList = customerList.OrderBy(item => item.Start);
参考:
答案 2 :(得分:4)
按Start
升序排列:
var sortedCustomers = customer.OrderBy(c => c.Start);
按Start
降序排列:
var sortedCustomers = customer.OrderByDescending(c => c.Start);
答案 3 :(得分:1)
你需要使用icomparer,你需要在你的类中实现icomparer之后编写你的自定义代码
答案 4 :(得分:1)
您需要为您的Customer类实现IComparable。
http://msdn.microsoft.com/en-us/library/system.icomparable%28v=vs.80%29.aspx
答案 5 :(得分:1)