gpt4 book ai didi

c# - 合并两个字典对 c# 不是纯 concat

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

我有两个字典。

Dictionary<string, string> testDict = new Dictionary<string, string>();
testDict.Add("Name", "John");
testDict.Add("City", "NY");

Dictionary<string, string> DictA = new Dictionary<string, string>();
DictA.Add("Name", "Sarah");
DictA.Add("State", "ON");

我希望得到一个字典,其中存在 testDict 的键,并且存在 DictA 中存在的那些键的值。

因此示例合并字典应如下所示:

Dictionary<string, string> DictMerged = new Dictionary<string, string>();
DictMerged.Add("Name", "Sarah");
DictMerged.Add("City", "NY");

我希望我已经能够解释我的要求..

我试过了..

testDict.Concat(DictA)
.GroupBy(kvp => kvp.Key, kvp => kvp.Value)
.ToDictionary(g => g.Key, g => g.Last());

但这也给了我我不想要的 DictA 'State'..

真诚感谢任何帮助

谢谢

最佳答案

我想你正在寻找这个:

var result = 
testDict.ToDictionary(
i => i.Key,
i => DictA.ContainsKey(i.Key) ? DictA[i.Key] : i.Value);

// result:
// {"Name", "Sarah"}
// {"City", "NY"}

关于c# - 合并两个字典对 c# 不是纯 concat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30353035/

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