我有一个这样的记录课:
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等对该列表进行排序.....
知道我该怎么做?
答案 0 :(得分:3)
当然,LINQ可以轻松使用OrderBy
,OrderByDescending
,ThenBy
和ThenByDescending
:
// 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命名约定。