c# - 添加列表作为对象的属性
问题描述
有一个这样的对象数组:
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()
});
推荐阅读
- python - 如何从二维数组中选择值并添加到另一个二维数组 python
- c# - 如何在不删除现有信息的情况下写入 CSV 文件?
- html - 如何在 Eclipse 中为另一个文件夹中的文件添加 href 链接?
- python-3.x - 如何绘制 sklearn 的 GridSearchCV 结果与参数?
- javascript - Gulp 4,在调用 watch 之前任务不执行
- sql - 使用多个条件“标记”记录
- azure - 将现有 Azure Function 的托管操作系统从 Windows 更改为 Linux
- python - 拖放时从 QListWidget 中删除项目
- javascript - 如何使用 JavaScrip/jQuery 从 URL 中的查询字符串中删除单个参数(在 .net 应用程序中?
- c# - 无法访问此站点的 Razor 页面