[英]Best Class to Hold Fixed Amount of Data in C#
假設我有很多需要處理的字符串,我喜歡將最后處理的字符串放入內存中,以避免對其重復處理。 我只需要記錄最近的100個字符串,這意味着如果我使用
在oldString.Add()
之后List<string> oldString
,我必須使用oldString.TakeFromEnd(100)
如您所知, TakeFromEnd()
不存在,這意味着如果我走這條路,我必須寫很多東西來保持100長度List
,這將導致我無法想象的不良性能。
我想問一下,系統類中是否有任何預制的東西,它們只能容納固定數量的數據,並且在添加新數據時會丟棄最舊的數據。 謝謝
[編輯]
Queue<string>
的確非常好,使用.Any()
以檢查是否已經存在,則使用.Enqueue()
添加(未Equeue如下回答,它拍攝的N),則使用.Count
檢查長度,和.Dequeue()
刪除第一個添加的。
使用隊列
想法是:
public void addToQueue(Object obj){
if (myQueue.Count > 100)
myQueue.Dequeue();
myQueue.Equeue(obj);
}
這大致是您需要使用的代碼的草圖,但是您會明白的。
然后,您將擁有一個隊列,該隊列僅包含最新的100條記錄
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.