gpt4 book ai didi

c# limited 字典

转载 作者:太空狗 更新时间:2023-10-29 22:34:17 27 4
gpt4 key购买 nike

我想建立一个字典(键,值),但我希望这本词典的大小有限,例如 1000 个条目,所以当我丰富这个限制大小时,我想删除第一个元素并添加一个新元素(FIFO)。

我想使用字典,因为我总是在字典中搜索键(我需要它会很快)

如何做到这一点?

最佳答案

要获得字典和 LIFO/FIFO 行为(用于删除最新/最旧的条目),您可以使用 OrderedDictionary。参见 http://msdn.microsoft.com/en-us/library/system.collections.specialized.ordereddictionary.aspx .

为了方便使用,您可以按照@ArsenMkrt 的建议从 OrderedDictionary 派生您自己的类。

但是请注意,OrderedDictionary 不使用泛型,因此由于装箱(字典中的项目将作为 object 插入),效率会有所降低。克服这个问题的唯一方法是创建一个双数据结构,该结构将字典中的所有项目映射到 Queue(对于 FIFO)或 Stack(对于 LIFO)中.有关详细信息,请参阅“Qua”对以下 SO 问题的回答,该问题恰好处理了您需要一种有效方法来跟踪插入字典项的顺序的情况。

Fastest and most efficient collection type in C#

关于c# limited 字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5814213/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com