在我的節目,我有這樣一個類:排序在C#中的類的數組
Class Customer{
double Start;
double Finish;
double Wait;
}
,我創建了這個類的一個數組:
Customer[] customer = new Customer[300];
我如何解決這數組按起始值降序還是升序?
謝謝...
在我的節目,我有這樣一個類:排序在C#中的類的數組
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));
你需要使用的IComparer和您需要在您的課程中實施icomparer後編寫自定義代碼
如果希望使用Customer
的List
,但是你可以應用陣列上相同的功能:
List<Customer> customerList = new List<Customer>;
var orderedCustomerList = customerList.OrderBy(item => item.Start);
參考:
'OrderBy'可用於實現'IEnumerable
@Isak Savo:謝謝,我已經更新了我的答案以適合您的評論。 – 2011-05-30 11:10:57
您需要實施ICo可以爲您的客戶課程做準備。
http://msdn.microsoft.com/en-us/library/system.icomparable%28v=vs.80%29.aspx
按升序由Start
:
var sortedCustomers = customer.OrderBy(c => c.Start);
和降序的Start
:
var sortedCustomers = customer.OrderByDescending(c => c.Start);
您可能要指定是否LINQ是一個選項或沒有。 – 2011-05-30 11:03:20