我有这个列表。我希望根据订单排序的类别有不同的值。有人请告诉我我该怎么办。
public class Item
{
public string URL{ get; set; }
public string Title { get; set; }
public string Category { get; set; }
public string Order{ get; set; }
}
var Test = new List<Items>
var groups = Test.Select(g => g.category).Distinct();
谢谢
答案 0 :(得分:1)
var groups = Test
.GroupBy(g => g.Category)
.Select(g => new
{
Category = g.Key,
Items = g.OrderBy(i => i.Order)
})
.OrderBy(g => g.Category)
.SelectMany(g => g.Items)
.ToList();
或者,在这种情况下基本相同:
Test.OrderBy(it => it.Category).ThenBy(it => it.Order)
如果您想要一个包含按顺序排序的该类别中项目子列表的组列表,您可以取出SelectMany的第一个代码。