排序类元素列表

时间:2012-08-22 19:44:46

标签: c# class-members

我有一个这样的记录课:

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等对该列表进行排序.....

知道我该怎么做?

1 个答案:

答案 0 :(得分:3)

当然,LINQ可以轻松使用OrderByOrderByDescendingThenByThenByDescending

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

这将创建一个 new 列表 - LINQ基于将一个序列投影到新序列上的查询,而不是改变现有列表。

或者,您可以使用List<T>.Sort与自定义比较器进行就地排序。

无论哪种方式,我强烈建议使用属性而不是公共字段,并遵循.NET命名约定。