我有 2 个结构相似的字典
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};
用户操作后,我将更改保留在 Changes 字典中。基本上,用户可以添加或删除一些链接到字符串的数字。所以我保留了这样的任何变化的所有痕迹:
示例:如果用户在字典中的“tata”中添加 1 更改 a 有“tata”有 1
如果用户在字典中的“toto”中添加 4 更改 a 有“toto”有 1,2,3,4
如果用户在字典中删除“titi”中的 1 更改 a 有“titi”有 2
我需要更改字典来了解用户何时返回原始状态,并进行简单的比较。
如果没有对字符串进行任何更改,则 Changes 字典没有该字符串的任何条目。
多次更改后,用户可以保存更改。所以现在我需要找到所有的添加和删除操作。
我的第一个想法是比较两个字典,看看添加操作和删除操作。但是如何?如果我比较相同字符串的列表,我可能知道区别,但我被困在这里。也许有更好的方法来做到这一点?有什么建议吗?