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

知道我该怎么做吗?

4

1 回答 1

3

当然,LINQ使OrderBy使用、OrderByDescending和变得容易:ThenByThenByDescending

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

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

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

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

于 2012-08-22T19:45:57.620 回答