gpt4 book ai didi

c# - 合并键值对列表

转载 作者:太空宇宙 更新时间:2023-11-03 19:48:41 25 4
gpt4 key购买 nike

我有一个 List<KeyValuePair<string, List<string>> ,所以数据看起来像这样:

user1, [trigger1,trigger2,trigger3]
user2, [trigger1,trigger4]
user3, [trigger2,trigger3,trigger4]
user1, [trigger0,trigger4]

我想把它变成 Dictionary<string,List<string>> ,但是这直接失败了,因为会有重复的键。有没有办法在 LINQ 中动态合并附加值的内容(意味着如果 user1 两次作为键,则将两个关联的 Lists<> 组合起来)?

最佳答案

您需要在 Key 上对 KVP 进行分组,并使用 SelectMany 来“展平”列表。如果您不想重复,请使用 Distinct() 删除它们:

var res = list
.GroupBy(p => p.Key)
.ToDictionary(
g => g.Key
, g => g.SelectMany(p => p.Value).Distinct().ToList()
); // ^^^^^^^^^^
// Remove Distinct() if you would like to keep all items

关于c# - 合并键值对列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42396154/

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