【发布时间】:2011-09-13 21:04:06
【问题描述】:
我有 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 在字典中改变了一个有 “塔塔”有 1 个
如果用户在“toto”中添加 4 在字典中改变了一个有 "toto" 有 1,2,3,4
如果用户删除“titi”中的 1 在字典中改变了一个有 “titi”有 2 个
我需要更改字典来了解用户何时返回原始状态,并进行简单的比较。
如果没有对字符串进行任何更改,则更改字典没有该字符串的任何条目。
多次更改后,用户可以保存更改。 所以现在我需要找到所有的添加和删除操作。
我的第一个想法是比较两个字典,看看添加操作和删除操作。但是如何? 如果我比较相同字符串的列表,我可能知道区别,但我被困在这里。 也许有更好的方法来做到这一点?有什么建议吗?
【问题讨论】:
标签: c# .net .net-3.5 dictionary change-tracking