C# 按字母顺序排序

C# 按字母顺序排序,c#,linq,C#,Linq,我有以下实现并将person添加到列表中。然而,我想排序的基础上的角色,然后根据字母顺序的顺序。我想知道如何在林克做到这一点 换句话说,一旦应用了排序和顺序,我需要按字母顺序查看所有教师项目 class Program { class Person { public Person(string id, string name, string role) { Id = id; Name = name;

我有以下实现并将person添加到列表中。然而,我想排序的基础上的角色,然后根据字母顺序的顺序。我想知道如何在林克做到这一点

换句话说,一旦应用了排序和顺序,我需要按字母顺序查看所有教师项目

class Program
{
    class Person
    {
        public Person(string id, string name, string role)
        {
            Id = id;
            Name = name;
        }
        public string Id { get; set; }
        public string Name { get; set; }
    }

    static void Main()
    {
        List<Person> persons = new List<Person>();
        persons.Add(new Person("P005", "Janson", "Teacher"));
        persons.Add(new Person("P137", "Aniket", "Student"));
        persons.Add(new Person("P002", "Aravind", "Teacher"));
        persons.Add(new Person("P007", "Kazhal", "Student"));
        persons.Add(new Person("P017", "Kamikaze", "Teacher"));
        persons.Add(new Person("P417", "Johnson", "Teacher"));
    }
}
类程序
{
班主任
{
公共人物(字符串id、字符串名称、字符串角色)
{
Id=Id;
名称=名称;
}
公共字符串Id{get;set;}
公共字符串名称{get;set;}
}
静态void Main()
{
列表人员=新列表();
新增(新增人员(“P005”、“Janson”、“教师”);
新增人员(新人员(“P137”、“Aniket”、“Student”);
新增人员(新人员(“P002”、“Aravind”、“教师”);
新增人员(新人员(“P007”、“卡扎尔”、“学生”);
新增人员(新人员(“P017”、“神风”、“教师”);
新增(新增人员(“P417”、“约翰逊”、“教师”);
}
}
您可以使用

你可以用


首先,将角色属性添加到Person类中。然后使用linq语句对列表进行排序和排序

var list = persons.OrderBy(x=>x.Role).ThenBy(x=>x.Name);

首先,将角色属性添加到Person类中。然后使用linq语句对列表进行排序和排序

var list = persons.OrderBy(x=>x.Role).ThenBy(x=>x.Name);

OrderBy后面跟着ThenBy OrderBy后面跟着ThenBy
var list = persons.OrderBy(x=>x.Role).ThenBy(x=>x.Name);