哈希集删除旧实例

本文关键字:实例 删除 哈希集 | 更新日期: 2023-09-27 18:13:03

我有一个自定义类的哈希集,我序列化和反序列化,我怎么能删除旧的类的实例,比说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);
}