c# - 使用 LINQ C# 将公共数据分组到新字符串中
问题描述
基本上,我有一个对象列表 - 包含这些字符串字段的事件:
Date:
Event_Name:
Event_Time:
Event_Place:
当然,有些事件是在同一天发生的,这就是我的问题所在:
我想将共享相同日期(键)的事件分组在一起,并创建一个新字符串,该字符串将包含同一日期的所有事件。
例子:
前:
Object 1:
Date: 2020/11/27
Event_Name: Dinner
Event_Time: 5pm
Event_Place: Johhny’s
Object 2:
Date: 2020/11/27
Event_Name: Dentist
Event_Time: 11am
Event_Place: Street 15
分组后:
Object:
Date: 2020/11/27
Event_Name: Dinner Dentist
Event_Time: 5pm 11am
Event_Place: Johhny’s Street 15
我尝试使用 LINQ 对它们进行分组——这有效,但不是我想要的方式——它将它们组合在一起,但它没有将它们“保存”为一个字符串。
有什么办法可以做到吗?
解决方案
这应该有效:
var grpByDate = allEvents.GroupBy(e => e.Date).Select(e =>
new Event
{
Date = e.Key,
Event_Name = string.Join(" ", e.SelectMany(x => x.Event_Name)),
Event_Time = string.Join(" ", e.SelectMany(x => x.Event_Time)),
Event_Place = string.Join(" ", e.SelectMany(x => x.Event_Place)),
});
推荐阅读
- pandas-groupby - 如何在 altair 中绘制 groupby?
- r - R-将聚合函数中的平均值更改为百分比
- c - C编程——数独解决方案(回溯)
- ios - 根据设备或屏幕尺寸更改对象速度/移动的最佳 Swift/iOS 实践?
- json - 从 API 端点解析/解码 JSON 到结构对象的问题
- java - 无法通过 Intellij 的数据源和驱动程序连接到数据库
- ios - 设置不同颜色的 MapKit 引脚
- .net-core - 无法访问 OnActionExecuting 上的 HttpContextAccessor 用户声明
- git - Git 分支显示已删除的远程分支
- javascript - 如何从 vanilla js 文件访问 $dispatch 和 Alpinejs 的其他神奇属性?