我有一种情况,我定义了一个类如下:
class Item
{
List<DateTime> _TransactonDatesPast30Days = new List<DateTime>();
}
所以情况可能如下:
I have 25 transaction dates in the list...
下一项:
40 transaction dates
所以现在我有一个包含所有这些参数的项目列表,如下所示:
List<Item> _items = new List<Item>();
现在我需要按列表中的列表进行分组,以获得最终列表中每天的销售数量......
例如:
12月12日在所有列表中发生了14次,现在它的数量是14,这将代表该日期的销售数量......在正常情况下,我会将它们分组:
ViewBag.LineGraph = lista
.GroupBy(l => l.TrasnactionDate)
.Select(cl => new Item
{
TrasnactionDate = cl.Key.TrasnactionDate.Date,
SaleNumber = cl.Count(c => cl.Key)
})
.OrderBy(x => x.TrasnactionDate)
.Where(x=>x.SaleNumber>0)
.ToList();
但是当我在列表中列出我需要分组时,它会让我感到困惑,当我在列表中有一个需要按日期分组的列表时,我不知道该怎么做...
答案 0 :(得分:1)
//这不是我的分组
var result = _items.Select(x => x._TransactonDatesPast30Days).GroupBy(y => y).Select(x => new Item {_TransactonDatesPast30Days = x.Key ,Salesnumber = x.Count()});
采取此解决方案:更新2
var resultt2 = _items.Select(x => x._TransactonDatesPast30Days).
Select(r => r.GroupBy(x => x).Select(l => new Item { _TransactonDatesPast30Days = new List<DateTime>{l.Key}, Salesnumber = l.Count() }));