gpt4 book ai didi

c# - 为什么 HttpSessionState 不实现 IDictionary?

转载 作者:太空狗 更新时间:2023-10-29 21:24:21 24 4
gpt4 key购买 nike

HttpSessionState似乎是一个典型的键 -> 值集合,那么为什么它不实现 IDictionary -接口(interface)?

背景:我正在尝试在发生错误时输出/保存我的 ASP.NET 网站的上下文,并希望使用递归函数来执行此操作,该函数输出一个集合和所有包含集合的集合。因为 HttpSessionState 只实现了 ICollectionIEnumerable,所以如果我想以通用的方式(= 工作与接口(interface))。

最佳答案

IDictionary 表示目标集合能够通过键快速查找。 (据我所知)HttpSessionState 只是一个项目列表,而不是字典式结构。由于搜索该结构需要线性时间,因此没有理由将其视为字典。如果您需要大量快速查找,则将键和值复制到真正的字典中。如果您不需要快速查找,那么您只需要专注于该类(class)。

接口(interface)不仅仅是方法原型(prototype)的列表,还有更多的东西。接口(interface)也需要保留一些语义。对于任何 IDictionary 的(大多数)消费者,按键快速查找就是这样一种非显式假设。

关于c# - 为什么 HttpSessionState 不实现 IDictionary?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6735997/

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