跟蹤元素已成爲列表的一部分的最簡單方法是什麼?例如,我想在列表添加2分鐘後從列表中彈出一個元素。定時一個元素在列表中的時間長度
我將不得不創建兩個列表,一個列表包含實際元素,另一列表元素添加到列表中的時間?然後檢查「時間」列表以便知道它何時達到兩分鐘?
我有一種感覺,那裏有一個更簡單和有效的方法來做到這一點,但我不能在此刻想起來了......
跟蹤元素已成爲列表的一部分的最簡單方法是什麼?例如,我想在列表添加2分鐘後從列表中彈出一個元素。定時一個元素在列表中的時間長度
我將不得不創建兩個列表,一個列表包含實際元素,另一列表元素添加到列表中的時間?然後檢查「時間」列表以便知道它何時達到兩分鐘?
我有一種感覺,那裏有一個更簡單和有效的方法來做到這一點,但我不能在此刻想起來了......
如果你想有最少量的代碼來編寫,你可以看看MemoryCache類,它實現了過期策略。
使用CacheItemPolicy您甚至可以在到期後刪除該項目時執行回調方法。
,而不是直接存儲在列表中的元素,你可以使用一個包裝類其中包含元素及其存儲時間,然後存儲包裝類的實例。
您可能想要使用隊列而不是列表;你會從前面去掉很多項目,這比使用列表更有效率。
檢查隊列的頻率是您需要決定的。你可以使用一個單獨的線程來檢查每一個這樣頻繁的情況,在這種情況下,你可能想要使用一個ConcurrentQueue<T>
這就是我當前的想法,認爲有辦法做到這一點,沒有包裝類,但我想你的建議做的工作:) – kUr4m4 2013-04-23 08:22:32
+1提醒我一個有趣的看類! – 2013-04-23 08:32:38
現在看看它:)聽起來像它正是我正在尋找的東西,特別是與回調! – kUr4m4 2013-04-23 08:34:51