【问题标题】:Sort and Order Alphabetically按字母顺序排序
【发布时间】:2018-05-09 18:18:46
【问题描述】:

我有以下实现并将人员添加到列表中。但是我想根据角色排序,然后根据字母顺序排序。我想知道如何在 LINQ 中完成。

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

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"));
    }
}

【问题讨论】:

  • OrderBy 后跟 ThenBy

标签: c# linq


【解决方案1】:

你可以使用ThenBy

var orderedList = persons.OrderBy(x=>x.Role).ThenBy(x=>x.Name); //You are missing a Role property

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:
      persons.OrderBy(x =>x.Name).ToList();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-11-08
        • 2011-01-30
        • 2019-04-05
        • 2012-04-08
        • 2022-01-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多