我有我的序列化和反序列化的自定义类的哈希集,我如何删除比说1天更旧的类的旧实例?Hashset删除旧实例
回答
您可以使用HashSet.RemoveWhere
:
DateTime now = DateTime.Now;
hashSet1.RemoveWhere(obj => (now - obj.DateTimeProperty).TotalDays >= 1);
(假设DateTimeProperty
是在类中DateTime
属性)
有没有一种方法,我可以遍历所有已删除对象之前,我 删除?
@ user2372936:那么我会过滤掉你首先删除对象,循环它们,并使用HashSet.Remove(obj)
将其删除:
var toDelete = hashSet1.Where(obj => (now - obj.DateTimeProperty).TotalDays >= 1);
foreach(var obj in toDelete){
//...;
hashSet1.Remove(obj);
}
太酷了!有没有一种方法可以在删除它们之前遍历所有已删除的对象? – user2372936 2013-05-11 15:11:59
@ user2372936:然后,我会筛选你将首先删除的对象,循环它们并使用['HashSet.Remove(obj)'](http://msdn.microsoft.com/zh-cn/library/bb342694。 aspx)删除它们:var toDelete = hashSet1.Where(sameConditionAsAbove); foreach(var obj in toDelete){// ...; hashSet1.Remove(obj);}'。相应地编辑我的答案。 – 2013-05-11 15:18:35
- 1. 删除CKEdit实例
- 2. 删除plugun实例
- 3. 是通过HashMap实例HashSet实现
- 4. 删除VS新实例
- 5. 删除liferay门户实例
- 6. NotifyCollectionChangedAction:删除对象实例?
- 7. 删除实例后excecuted 2
- 8. 删除所有CKEditor实例
- 9. 删除旧版本
- 10. AWS将旧卷从旧实例挂载到新实例
- 11. 删除元素哦HashSet里面为
- 12. 使用HashSet的删除重复
- 13. 从HashSet中删除空引用
- 14. Java集合API HashSet删除方法
- 15. 使用旧实例的paintComponent
- 16. 自动删除旧数据
- 17. postgresql删除陈旧的锁
- 18. 如何删除旧翻译?
- 19. HTML keydown删除旧画布
- 20. bash删除旧文件
- 21. Jenkins:删除旧版本
- 22. mongodb删除旧聊天
- 23. 删除旧固定链接?
- 24. Java删除旧的亮点
- 25. 删除旧的记录
- 26. JqueryMobile Listview删除旧值
- 27. 在旧代码删除宏
- 28. kubelet不删除旧容器
- 29. 删除旧的.lck文件
- 30. Capistrano不删除旧版本
你有自定义类中的任何序列时间戳或任何财产可用于识别创建日期。 – Saravanan 2013-05-11 13:29:31
在反序列化期间,如果无法正确反序列化,它应该抛出异常。难道你不能把它包裹在试试看吗? – cgatian 2013-05-11 13:31:35