gpt4 book ai didi

c# - 为什么这个 Union on two Dictionary 不起作用?

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

代码:

    Dictionary<string, IList<PuntoMappa>> first = new Dictionary<string, IList<PuntoMappa>>();
Dictionary<string, IList<PuntoMappa>> second = new Dictionary<string, IList<PuntoMappa>>();
second = second.Union(first);

我好像漏掉了显式转换?

最佳答案

secondDictionary<string, IList<PuntoMappa>>而你的 Union 的返回类型是IEnumerable<KeyValuePair<string, IList<PuntoMappa>>> .您需要将其转换回字典。

second = second.Union(first).ToDictionary(kvp => kvp.Key, kvp => kvp.Value);

正如评论所指出的,如果您有重复的键,这可能不起作用。相反,如果您想将列表与两个词典中的匹配键联合起来,那么您可以使用 Join :

second = first.Join(second, kvp => kvp.Key, kvp => kvp.Key, (pair1, pair2) => new { Name = pair1.Key, PuntoMappas = pair1.Value.Union(pair2.Value) })
.ToDictionary(p => p.Name, p => p.PuntoMappas.ToList());

关于c# - 为什么这个 Union on two Dictionary 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13417689/

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