我有一个列表,我需要按两个字段排序。我试过在LINQ中使用OrderBy,但只允许我指定一个字段。我正在寻找要按第一个字段排序的列表,然后如果第一个字段中有任何重复项要按第二个字段排序。LINQ OrderBy与多个字段
例如,我希望结果看起来像这样(按姓氏和名字排序)。
- 亚当斯,约翰·
- 史密斯,詹姆斯
- 史密斯,彼得
- 汤普森,弗雷德
我已经看到了你可以使用SQL like syntax to accomplish this,但我在寻找一种方式用OrderBy方法来完成它。
IList<Person> listOfPeople = /*The list is filled somehow.*/
IEnumerable<Person> sortedListOfPeople = listOfPeople.OrderBy(aPerson => aPerson.LastName, aPerson.FirstName); //This doesn't work.
,完整的解释是列在这里添加其他领域。 asp.net/zeeshanhirani/archive/2008/04/16/thenby-operator-part-14.aspx – DigitalNomad 2010-06-15 17:27:26
这是Lambda .. LINQ解决方案需要@svick在LINQ中有它。 – 2013-05-10 17:48:54
我不确定你的意思。对于上面的方法语法,查询语法只是糖;都是“LINQ”。请参阅http://msdn.microsoft.com/en-us/library/vstudio/bb397947.aspx 如果您阅读该问题,他特别要求提供方法语法版本。 – tzaman 2013-05-10 19:50:55