2013-04-23 54 views
2

跟踪元素已成为列表的一部分的最简单方法是什么?例如,我想在列表添加2分钟后从列表中弹出一个元素。定时一个元素在列表中的时间长度

我将不得不创建两个列表,一个列表包含实际元素,另一列表元素添加到列表中的时间?然后检查“时间”列表以便知道它何时达到两分钟?

我有一种感觉,那里有一个更简单和有效的方法来做到这一点,但我不能在此刻想起来了......

回答

5

如果你想有最少量的代码来编写,你可以看看MemoryCache类,它实现了过期策略。

使用CacheItemPolicy您甚至可以在到期后删除该项目时执行回调方法。

+1

+1提醒我一个有趣的看类! – 2013-04-23 08:32:38

+0

现在看看它:)听起来像它正是我正在寻找的东西,特别是与回调! – kUr4m4 2013-04-23 08:34:51

3

,而不是直接存储在列表中的元素,你可以使用一个包装类其中包含元素及其存储时间,然后存储包装类的实例。

您可能想要使用队列而不是列表;你会从前面去掉很多项目,这比使用列表更有效率。

检查队列的频率是您需要决定的。你可以使用一个单独的线程来检查每一个这样频繁的情况,在这种情况下,你可能想要使用一个ConcurrentQueue<T>

+0

这就是我当前的想法,认为有办法做到这一点,没有包装类,但我想你的建议做的工作:) – kUr4m4 2013-04-23 08:22:32

相关问题