我有幾個字典,我想執行交集。 兩個詞典對於同一個鍵可能有不同的值列表。基於鍵和值的字典交集
實施例:
Dictionary<int, List<int>> Primary = new Dictionary<int, List<int>>();
Primary.Add(1, new List<int>());
Primary[1].Add(5);
Primary[1].Add(6);
Primary[1].Add(7);
Primary.Add(2, new List<int>());
Primary[2].Add(5);
Dictionary<int, List<int>> Secondary = new Dictionary<int, List<int>>();
Secondary.Add(1, new List<int>());
Secondary[1].Add(6);
Secondary[1].Add(7);
Secondary[1].Add(8);
Secondary.Add(3, new List<int>());
Secondary[3].Add(5);
因此,我希望得到的字典只包含:
[1],[表< 6,7>]
我怎樣才能做到這一點?實際的數據結構,我想交叉口的形式爲:
Dictionary<long, SortedList<int,List<long>>>
這是你的哪一部分掙扎?你有什麼嘗試? –
如果在兩個字典中都存在關鍵字,但相應的列表中沒有公共項目,您希望結果是否包含具有空列表的關鍵字? – jmcilhinney
@jmcilhinney是的,如果它們具有相同的鍵但列表中沒有共同的項目,則它應該爲空。 BartoszKP給出的答案完美適用於Dictionary>。我試圖擴展Dictionary >>。它令人困惑 –
Sabz