使用 lambda 表达式的 C# 二次排序

标签 c#

如何在 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 命名空间。

关于使用 lambda 表达式的 C# 二次排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14031226/

相关文章:

c# - 在 C# 中显示打印预览

c# - ZedGraph C# 条形图 - 如何检查鼠标单击了哪个条形图?

c# - Windows Phone 7 上的 Protobuf-net

c# - 如何找到程序的 IE GUID?

c# - 指示 KeyPress 是否来自 SIP,而不是硬按钮

c# - 带有子类的 Fluent NHibernate Repository

c# - 我可以绕过 MVC 应用程序内 Web API Controller 的组织身份验证吗?

c# - LINQ to SQL 或 Entities,在这一点上?

c# - 我想在数组中获取索引,其中包含我在 C# 中的值

c# - Convert.ToDouble(object) 中的小数精度是否取决于文化?