我有一个我序列化和反序列化的自定义类的哈希集,如何删除早于 1 天的类的旧实例?
问问题
117 次
1 回答
1
您可以使用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);
}
于 2013-05-11T13:32:18.670 回答