首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在特定时间在ObservableCollection中清空C#

问如何在特定时间在ObservableCollection中清空C#
EN

Stack Overflow用户
提问于 2015-08-20 14:19:03
回答 1查看 372关注 0票数 0

我正在与C#中的MVVM和WPF进行斗争。我想要创建一个数据集,它显示一个ObservableCollection,它存储事件发生的名称和时间。这个数据集和ObservableCollection应该在特定的时间(上午10:30,下午2点,下午6点和凌晨2点)空置,并开始收集新的事件列表。

我试图不使用计时器作业(我读到它们消耗资源)。是否可以在每次发生新事件时检查该事件,并视时间而定,要么清空ObservableCollection,要么将该事件添加到当前的O.C列表?

例如:如果时间正好是上午10:30或下午2点或下午6点或2点:首先清空ObservableCollection,然后在ObservableCollection中输入新事件。

如果时间是在上午10:30或下午2点或下午6点或凌晨2点之后,但ObservableCollection尚未清空(因为在这些时间没有发生任何事件),即这是在“清空时间”之后发生的第一个事件:首先-清空ObservableCollection,然后在ObservableCollection中输入新事件。

否则,只需在ObservableCollection中输入新事件(因为ObservableCollection已经清空,因为它不是在“清空时间”之后发生的第一个事件)。

EN

回答 1

Stack Overflow用户

发布于 2015-08-20 18:24:19

我不知道这是否是最有效的方法,但这可能是一个合理的方法。我也不知道您的应用程序是什么(如果它是一个Web应用程序),但是如果它是一个WPF/MVVM应用程序,当您需要计时器启动时,计算下一个时间间隔是什么时候(因此,如果您启动应用程序和系统时钟,如果它是可以使用的,那么它是上午9:21,下一个时间间隔是上午10:30 )。

然后,启动一个将在下一个时间间隔超时的计时器,然后实现计时器回调委托,以便在该间隔内执行您需要做的任何事情。

如果您使用的是.NET 4.5,请看这里

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32120779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档