如何获取IGrouping中的“值”属性?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (36)

我有一个数据结构

public DespatchGroup(DateTime despatchDate, List<Products> products);

我想做的是

var list = new List<DespatchGroup>();

foreach (var group in dc.GetDespatchedProducts().GroupBy(i => i.DespatchDate))
{
    // group.Values is not correct... how do I write this?
    list.Add(new DespatchGroup(group.Key, group.Values);
}

我显然不理解IGrouping因为我看不出如何真正获得组内的数据记录!

提问于
用户回答回答于

这实现IEnumerable<T>-在一般情况下,只需调用foreach到group。在这种情况下,你需要一个List<T>

list.Add(new DespatchGroup(group.Key, group.ToList());
用户回答回答于

没有Values属性或类似的属性,因为IGrouping<T>本身IEnumerable<T>值序列。在这种情况下,所需要做的就是将该序列转换为列表:

list.Add(new DespatchGroup(group.Key, group.ToList());

扫码关注云+社区