gpt4 book ai didi

c# - 将 IGrouping 转换为 IDictionary

转载 作者:行者123 更新时间:2023-12-02 17:59:42 26 4
gpt4 key购买 nike

作为数据库查询的结果,我有以下分组:

5: Key1
3: Key2, Key3, Key4
2: Key5
1: Key6, Key7

我希望分组键的顶部 x (而 x 是用户定义的)作为字典。

对于前 3 名,我想要一本字典

Key1: 5
Key2: 3
Key3: 3
Key4: 3
Key5: 2

我想要前 2 名

Key1: 5
Key2: 3
Key3: 3
Key4: 3

并且仅适用于前 1 名

Key1: 5

如何转换 IGrouping<int, string>进入IDictionary<string, int> 。注意: key 是唯一的。

最佳答案

首先,您通过调用 Take 获取“前 N 个”组:

groups.Take(n)

然后展平为值键对列表

      .SelectMany(g => g, (g, k) => new {Value = g.Key, Key = k})

然后只需调用ToDictionary:

      .ToDictionary(kvp => kvp.Key, kvp => kvp.Value);

关于c# - 将 IGrouping 转换为 IDictionary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40665706/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com