我有2 dictionnary與similaire strutureC# - 比較兩個詞典知道每個 「添加」 操作,每個 「刪除」 操作
Dictionary<string, List<int>> Origins
和
Dictionary<string, List<int>> Changes
我已創建之初起源。它是開始狀態的副本。 例子:
Origins["toto"] = new List<int>(){1,2,3};
Origins["tata"] = new List<int>();
Origins["titi"] = new List<int>(){1,2};
的用戶動作後,我守在變化dictionnary的變化。 基本上,用戶可以添加或刪除鏈接到字符串的一些數字。所以我一直是這樣的任何變化的所有痕跡:
例如:如果用戶在「塔塔」 在字典中添加1改變一個有 「塔塔」有1
如果用戶添加4在字典中的「TOTO」 更改一個具有 「TOTO」具有1,2,3,4
如果用戶在詞典中刪除1「蒂蒂」 更改一個具有 「蒂蒂」有2個
我需要更改dicti通過簡單的比較可以知道用戶何時回到原始狀態。
如果沒有對字符串進行更改,則更改字典中沒有此字符串的任何條目。
經過許多更改後,用戶可以保存更改。 所以現在我需要找到所有的添加和刪除操作。
我的第一個想法是比較兩個字典,看操作添加和操作刪除。但是如何? 如果我比較同一個字符串的列表,我可能會知道其中的差異,但我在這裏卡住了。 也許有更好的方法來做到這一點?任何建議?
List changesValues = Changes [entry.Key] .Value; 這可能會崩潰,因爲更改可能沒有鍵「entry.key」 –
@Guillaume V:謝謝,我已經添加了處理這種情況。 –