2012-08-22 148 views
0

我有一個記錄類這樣的:列表排序

public class RecordInfo 
{ 
    public String CDate; 
    public String Patient_ID; 
    public Color Zone; 
    public String Fname; 
    public String Lname; 
    public Int64 ImgSize; 
    public String ImagePrefix; 
    public String ImagePath; 
    public String Sex; 
    public String TZ; 
} 

,我犯了這樣的RecordInfo的列表:

List<RecordInfo> PatientRecords = new List<RecordInfo>(); 

,我添加的記錄它,但我會喜歡根據Patient_ID,性別,Fname等對該列表進行排序.....

任何想法我該怎麼做?

回答

3

當然,LINQ可以輕鬆使用OrderByOrderByDescendingThenByThenByDescending

// Note change from Patient_ID to PatientId for naming conventions. 
List<RecordInfo> sorted = records.OrderBy(x => x.PatientId).ToList(); 

這將創建一個列表 - LINQ是基於哪個項目一個序列到一個新的查詢,而比改變現有的列表。

或者,您可以使用List<T>.Sort與自定義比較器就地排序。

無論哪種方式,我強烈建議使用屬性,而不是公共字段,也遵循.NET命名約定。

+0

記錄是指什麼? 因爲我試圖用PatientRecords替換它,但它沒有工作 –

+1

@ R.Vector,「它沒有工作」?你能用英文翻譯「它沒有工作」嗎?從軟件開發人員的角度來看,不是軟件用戶。 –

+0

是的它說:名稱'記錄'在當前上下文中不存在 –