将多个对象组合到新对象中

时间:2015-10-13 15:00:17

标签: c# linq

对于我的问题,我有一个对象列表(生产者)。

对于每个生产者记录,都有一些属性(ID,DisplayName和StateCode)。

列表中可能有多个项目具有相同的ID& DisplayName,但不同的StateCodes。

我无法查询此内容,以便在新对象中为每个可能的StateCodes提供一份生产者列表。

我更希望新对象具有ID,DisplayName和包含其每个StateCode的List。

有人可以指出我可以创建这个新列表的正确方法吗?

1 个答案:

答案 0 :(得分:1)

您正在寻找LINQ的GroupBy

var groups = producerList.GroupBy(p => new { p.ID, p.DisplayName });

对2个属性进行分组,然后您的组的值将是StateCode的IEnumerable