如何在 C# 中使用二次排序对列表进行排序。例如,如果我有一个名为 Student 的类,它有两个字段 FirstName 和 LastName。到目前为止,我对列表进行了如下排序:
MyStudents.Sort((s1, s2) => s1.LastName.CompareTo(s2.LastName));
我想知道如何先按姓氏然后按名字对列表进行排序。谢谢。
如何在 C# 中使用二次排序对列表进行排序。例如,如果我有一个名为 Student 的类,它有两个字段 FirstName 和 LastName。到目前为止,我对列表进行了如下排序:
MyStudents.Sort((s1, s2) => s1.LastName.CompareTo(s2.LastName));
我想知道如何先按姓氏然后按名字对列表进行排序。谢谢。
Sort
没有那个能力。
Linq 可以简单地做到这一点:
MyStudents.OrderBy(s => s.LastName).ThenBy(s => s.FirstName)
确保您至少使用 .NET 3.5 并System.Linq
引用了命名空间。
您可以使用LINQ:
MyStudents.OrderBy(e => e.LastName).ThenBy(e => e.FirstName);