C# 类元素的排序列表

C# 类元素的排序列表,c#,class-members,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 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;
}
List<RecordInfo> PatientRecords = new List<RecordInfo>();
我列出了一个记录信息列表,如下所示:

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;
}
List<RecordInfo> PatientRecords = new List<RecordInfo>();
List PatientRecords=new List();
我在列表中添加了记录,但我想根据患者ID、性别、姓名等对列表进行排序

你知道我该怎么做吗?

当然可以,使用起来很方便,而且:

//注意命名约定从Patient_ID更改为PatientId。
List sorted=records.OrderBy(x=>x.PatientId.ToList();
这将创建一个新列表——LINQ基于将一个序列投影到新序列上的查询,而不是对现有列表进行修改

或者,您可以使用自定义比较器进行就地排序

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

当然,使用起来很方便,而且:

//注意命名约定从Patient_ID更改为PatientId。
List sorted=records.OrderBy(x=>x.PatientId.ToList();
这将创建一个新列表——LINQ基于将一个序列投影到新序列上的查询,而不是对现有列表进行修改

或者,您可以使用自定义比较器进行就地排序


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

这些记录指的是什么?因为我试着用录音带代替它,但是没有work@R.Vector,
它不起作用了
?你能把它翻译成英文吗?从软件开发人员的角度来看,而不是从软件用户的角度来看。@R.Vector:记录的原始列表。我没有使用名称
PatientRecords
,因为这不是一个好的局部变量名称。正如Darin所说,“它不起作用”并不是对你所看到的东西的清晰描述。@R.Vector:你说你用
PatientRecords
-它不会在事后给出错误…使用System.Linq添加
到文件的顶部,以将定义了
OrderBy
扩展方法的名称空间带到该名称空间中。记录引用的是什么?因为我试着用录音带代替它,但是没有work@R.Vector,
它不起作用了
?你能把它翻译成英文吗?从软件开发人员的角度来看,而不是从软件用户的角度来看。@R.Vector:记录的原始列表。我没有使用名称
PatientRecords
,因为这不是一个好的局部变量名称。正如Darin所说,“它不起作用”并不是对你所看到的东西的清晰描述。@R.Vector:你说你用
PatientRecords
-它不会在事后给出错误…使用System.Linq添加
位于文件顶部,以将定义了
OrderBy
扩展方法的名称空间带到该名称空间中。