我有一个列表,需要按两个字段进行排序。我试过在LINQ中使用OrderBy,但这只允许我指定一个字段。我正在寻找要按第一个字段排序的列表,然后在第一个字段中是否有重复项要按第二个字段排序。
例如,我希望结果看起来像这样(按姓氏然后按名字排序)。
- 约翰·亚当斯
- 史密斯,詹姆斯
- 彼得·史密斯
- 汤普森,弗雷德
我已经看到您可以使用类似SQL的语法来完成此操作,但是我正在寻找一种使用OrderBy方法执行此操作的方法。
IList<Person> listOfPeople = /*The list is filled somehow.*/
IEnumerable<Person> sortedListOfPeople = listOfPeople.OrderBy(aPerson => aPerson.LastName, aPerson.FirstName); //This doesn't work.