c# - 具有不同键和选定值的字典对象列表

标签 c# linq dictionary

我有一个 List以下类的对象:

class Entry
{
    public ulong ID {get; set;}
    public DateTime Time {get; set;}
}

该列表包含每个 ID 值的多个对象,每个对象具有不同的日期时间。

我可以使用 Linq 转换这个 List<Entry> 吗?到 Dictionary<ulong, DateTime>其中键是 ID,值为 Min<DateTime>()该 ID 的日期时间?

最佳答案

听起来您想按 ID 分组,然后转换为字典,这样您最终每个 ID 都有一个字典条目:

var dictionary = entries.GroupBy(x => x.ID)
                        .ToDictionary(g => g.Key,
                                      // Find the earliest time for each group
                                      g => g.Min(x => x.Time));

或者:

                         // Group by ID, with each value being the time
var dictionary = entries.GroupBy(x => x.ID, x => x.Time)
                         // Find the earliest value in each group
                        .ToDictionary(g => g.Key, g => g.Min())

关于c# - 具有不同键和选定值的字典对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25244835/

相关文章:

c# - 将 CSV 文件导入我的数据 GridView

c# - 有没有办法在我们收到分块请求后处理分块?

c# - 如何扩展自定义 LINQ 操作?

dictionary - 如果满足条件,则从字典中删除项目

c# - Interop 导致 Unity 崩溃

c# - 使用反射将 lambda 表达式作为参数传递

linq - 如何编写一个 LINQ 查询来反转分层数据源的分组?

c# - 如何在字典中查找值> 0且键与特定字符串模式匹配的键值对?

ios - iOS 6 上的序列化问题

c# - 可以广播到浏览器的桌面应用程序