拥有这样的对象数组:
List<object> myArray = new List<object>();
myArray = [{name = "abc", id = 1},
{name = "xxx", id = 2},
{name = "abc", id = 3},
];
我希望如果有更多具有相同名称的对象将它们组合成一个对象并将ID保存到列表中。对于上面的数组,所需的结果应该是这样的:
myArray = [{name = "abc", (id = 1, id = 3)},
{name = "xxx", id = 2},
];
也许这不是最好的方式。我想找出任何有用的建议。
只需根据Name
-property对数据进行分组:
var result = myList.GroupBy(x => x.Name).Select(x => new
{
Name = x.Key,
Ids = x.Select(y => y.id).ToList()
});