假设我有很多需要处理的字符串,我喜欢将最后处理的字符串放在内存中以避免重复处理。我只需要记录最后 100 个字符串,这意味着如果我使用
List<string> oldString
之后oldString.Add()
,我必须使用oldString.TakeFromEnd(100)
As you know, TakeFromEnd()
not exist,这意味着如果我走这条路,我必须写很多东西来保持 100 的长度List
,这会导致我可以想象的糟糕的性能。
我想问一下,系统类中是否有任何预先制作的只保存固定数量的数据,并在添加新数据时丢弃最旧的数据。谢谢
[编辑]
Queue<string>
确实很好,用于.Any()
检查是否已经存在,用于.Enqueue()
添加(不是下面回答的Equeue,它拍摄了N),用于.Count
检查长度,并.Dequeue()
删除第一个添加的。