我有一个类和它的列表
abc cs = new abc();
List<abc> Lst_CS = new List<abc>();并通过HidenField在foreach循环中设置了一些值。
foreach (blah blah)
{
cs = new abc{
No = VKNT,
GuidID=hdnGuidID.Value.ToString(),
RecID=hdnRecID.Value.ToString(),
Date=HdnDate.Value.ToString()
};
Lst_CS.Add(cs);
}最后,我得到了一个List_CS,由Lst_CS按照Date这样的方式订购;
IEnumerable<abc> query = Lst_CS.OrderBy(l => l.Date).ToList(); 但另外,我想根据No进行分组。
简单地说,我想按Date订购,然后按No在Lst_CS上订购,我能做什么呢?谢谢你的回答
发布于 2013-12-03 15:44:32
你只需做排序,然后分组,就像这样:
Lst_CS.OrderBy(l => l.Date)
.GroupBy(l => l.No)
.ToList(); 每个组中的每个项目列表都将按日期进行排序。当按日期对整个列表进行排序时,分组将按照找到它们的顺序排列。
另外,您的ForEach可以在一个Linq语句中完成,然后与排序和分组相结合:
var query = blah.Select(b => new abc{
No = VKNT,
GuidID=hdnGuidID.Value.ToString(),
RecID=hdnRecID.Value.ToString(),
Date=HdnDate.Value.ToString()
})
.OrderBy(l => l.Date)
.GroupBy(l => l.No)
.ToList();https://stackoverflow.com/questions/20355403
复制相似问题