【C#】C#List Sortアルファベット順マルチフィールドソート

902 ワード

新しいPersonでテスト
public class Person
{
    public int ID { get; set; }
    public string Name { get; set; }
}

リストの作成
List list = new List()
{
    new Person(){ID = 1,Name ="aa" },
    new Person(){ID = 2,Name ="gg" },
    new Person(){ID = 3,Name ="cc" },
    new Person(){ID = 4,Name ="bb" },
    new Person(){ID = 5,Name ="aa" },
};

ツールバーの
list.Sort((a, b) => string.Compare(a.Name, b.Name));

中国語についても
逆ソート
list.Reverse();

 
Linqも使えます
昇順ソート
list = list.OrderBy(p => p.Name).ToList();

マルチフィールドソート
list = list.OrderBy(p => p.Name).ThenBy(p => p.ID).ToList();

OrderByDescending,ThenByDescending降順ソート