2013-04-23 26 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

相關問題