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

確かに、LINQOrderByでは、OrderByDescendingThenByおよびを簡単に使用できThenByDescendingます。

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

これにより、新しいリストが作成されます。LINQ は、既存のリストを変更するのではなく、1 つのシーケンスを新しいリストに射影するクエリに基づいています。

List<T>.Sortまたは、カスタム比較子を使用してその場で並べ替えることもできます。

いずれにせよ、パブリック フィールドの代わりにプロパティを使用し、.NET 命名規則に従うことを強くお勧めします。

于 2012-08-22T19:45:57.620 に答える