c# - 检测字典中包含的值是否已更改

标签 c# .net

如果我从 IDictionary 派生一个类,我如何确定任何给定的 V 在添加到基础集合后没有更改?

最佳答案

方法有很多,但要看情况...

如果添加到字典中的值类型包含“Changed”类型的事件,则订阅它。

如果值类型不包含此类事件,但您控制源代码,请添加该事件并订阅它。

如果值类型不包含此类事件,并且您无法控制源代码,请考虑使用克隆值或其他内容维护值的卷影副本,然后进行比较。

恐怕在最后一种情况下,您无法控制类型并且它不包含事件,您别无选择,只能以某种方式记录每个值的当前状态,然后与该状态进行比较,看看它是否发生了变化。

关于c# - 检测字典中包含的值是否已更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/644624/

相关文章:

c# - 如何在 C# 中从 IDataReader 写入 xml 文件

c# - 组合框 Tabstop 获得双焦点

c# - 如何解决 KeyNotFoundException

.net - 如何使 MSBuild 自动将所有间接引用复制到输出 (bin) 文件夹

c# - 如何在不知道密码的情况下获取另一个用户的 WindowsIdentity?

c# - 调试 `WCF Service Library` 时我可以在哪里设置 try-catch block (即入口点/Main()-方法在哪里)

c# - 返回任何类型的 IQueryable

c# - 从树结构的每一层获取属性

.net - 如何将二进制数据流式传输到 .NET 中的标准输出?

c# - 无法将 Action<object, EventArgs> 转换为 EventHandler?