Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Hashset删除旧实例_C#_Date_Hashset - Fatal编程技术网

C# Hashset删除旧实例

C# Hashset删除旧实例,c#,date,hashset,C#,Date,Hashset,我有一个自定义类的哈希集,我可以对其进行序列化和反序列化,如何删除早于1天的类的旧实例?您可以使用: (假设DateTimeProperty是类中的DateTime属性) 是否有一种方法可以在删除之前循环遍历所有已删除的对象 移除它们 @user2372936:然后我会过滤您将首先删除的对象,循环它们并用于删除它们: var toDelete = hashSet1.Where(obj => (now - obj.DateTimeProperty).TotalDays >= 1); f

我有一个自定义类的哈希集,我可以对其进行序列化和反序列化,如何删除早于1天的类的旧实例?

您可以使用:

(假设
DateTimeProperty
是类中的
DateTime
属性)

是否有一种方法可以在删除之前循环遍历所有已删除的对象 移除它们


@user2372936:然后我会过滤您将首先删除的对象,循环它们并用于删除它们:

var toDelete = hashSet1.Where(obj => (now - obj.DateTimeProperty).TotalDays >= 1);
foreach(var obj in toDelete){
    //...;
    hashSet1.Remove(obj);
}

自定义类中是否有可用于标识创建日期的序列化时间戳或任何属性。在反序列化过程中,如果无法正确反序列化,则应引发异常。你能不能把它包起来试试看?太酷了!是否有一种方法可以在删除所有已删除的对象之前对其进行循环?@user2372936:然后我会过滤您将首先删除的对象,循环它们并用于删除它们:
var toDelete=hashSet1.Where(同上);foreach(toDelete中的var obj){//…;hashSet1.Remove(obj);}
。据此编辑了我的答案。
var toDelete = hashSet1.Where(obj => (now - obj.DateTimeProperty).TotalDays >= 1);
foreach(var obj in toDelete){
    //...;
    hashSet1.Remove(obj);
}