将多个对象合并为新对象

本文关键字:对象 新对象 合并 | 更新日期: 2023-09-27 18:17:33

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

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

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

我在查询这给我一个不同的生产者列表与他们的每个可能的StateCodes在一个新的对象。

我更愿意有新的对象有ID, DisplayName,和一个列表,其中包含他们的每个StateCode。

谁能指出我创建这个新列表的正确方法?

将多个对象合并为新对象

您正在寻找LINQ的GroupBy:

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

组的两个属性,那么你的组的值将是一个IEnumerable的StateCode