C# 合并对象内部的字典

C# Merging dictionaries inside of an object

我知道有很多关于这个主题的 post,但我仍然没有找到我正在寻找的答案。

我得到两个对象 A 和 B,它们都有一个字典和一组布尔值。字典的形状相同,只是数据不同。我的最终目标是创建第三个对象 C,A 的副本,其字典根据一组规则更新为具有来自 A 和 B 的值(例如 C.dictionary 将拥有所有 A.dictionary.[ x] 如果 A.Dictionary.[x].Value.days < 5 和所有 B.dictionary.[x] 如果天 > 5)。 如果您对此有解决方案那就太棒了,否则,这就是我所处的位置和我失败的地方:

我正在尝试创建一个新字典并循环遍历 A 和 B 以添加值...我将在之后添加规则。一旦我得到它,我将找到一种方法将这个字典放入对象 C。(告诉我是否设计过度,我对 C# 很陌生)。

var dict = new Dictionary<DateTime, TypeData>();
foreach (var item in A.dictionary.keys)
   {
      dict.Add(A.Dictionary[item]);
   }

这不起作用有两个原因:

非常感谢您查看我的 post!

试试这个

var dictionariesToCombine = new Dictionary<DateTime, TypeData>[] {dictA,dictB};

Dictionary<int, int> dictC = new Dictionary<DateTime, TypeData>();

    for (var i=0; i< dictionariesToCombine.Length; i++)
    {
        foreach (var item in dictionariesToCombine[i])
        {
            if( 
                  (i==0 and your conditions)
                 || (i==1 and your conditions)
               )
            resultDict.Add(item.Key, item.Value);
        }
    }