假設我有大量需要處理的字符串,我喜歡將最後處理的字符串放在內存中以避免重複處理。我只需要記錄最後100個字符串,這意味着如果我使用C#中保存固定數據量的最佳類別
List<string> oldString
oldString.Add()
後,我不得不使用oldString.TakeFromEnd(100)
如你所知,TakeFromEnd()
不存在的,這意味着如果我走了這條路,我都要寫很多的事情要保持100長度List
這將導致我可以想象的糟糕表現。
我想問一下,系統中是否存在任何預製的類,只保存固定數量的數據,並在添加新數據時拋棄最舊的數據。由於
[編輯]
Queue<string>
的確非常好,使用.Any()
檢查是否已經存在,使用.Enqueue()
添加(不Equeue如下回答,它打出了N),使用.Count
來檢查長度,並.Dequeue()
刪除第一個添加的。
這個想法
你需要訪問所有100個存儲的字符串或者是足夠的存儲機制,只提供單一的最早儲存的字符串? – 2012-08-01 11:54:17
不,我不需要訪問全部100個字符串,但我需要與它們進行比較。例如,將linq用於'.Exist()' – 2012-08-01 12:43:52