加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 为什么HttpSessionState没有实现IDictionary?

发布时间:2020-12-15 04:25:47 所属栏目:百科 来源:网络整理
导读:HttpSessionState似乎是一个典型的关键 – 价值收集,为什么不实施 IDictionary接口? 背景:我正在尝试在发生错误时输出/保存我的ASP.NET网站的上下文,并希望使用递归函数执行此操作,该函数输出集合并且所有包含集合.因为HttpSessionState只实现了ICollectio
HttpSessionState似乎是一个典型的关键 – >价值收集,为什么不实施 IDictionary接口?

背景:我正在尝试在发生错误时输出/保存我的ASP.NET网站的上下文,并希望使用递归函数执行此操作,该函数输出集合并且所有包含集合.因为HttpSessionState只实现了ICollection和IEnumerable,所以如果我想以通用的方式(=使用接口),我将失去有关密钥的信息.

解决方法

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

接口有很多东西,而不仅仅是方法原型列表.还需要为接口保留语义.按键快速查找是任何IDictionary(大多数)消费者的非显式假设.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读