1. 首页
  2. 编程语言
  3. C#
  4. C# 解决在Dictionary中使用枚举的效率问题

C# 解决在Dictionary中使用枚举的效率问题

上传者: 2021-07-29 19:23:47上传 PDF文件 122.76 KB 热度 10次

它同样拥有目录和正文,目录用来进行第一次的粗略查找,正文进行第二次精确查找。通过将数据进行分组,形成目录,正文则是分组后的结果。所以,功能使用率查询>新增时优先考虑字典。但使用时需要避免使用枚举作为关键词进行查询;它会造成查询效率降低。使用枚举作为key时查询效率变低执行时间从这里的执行时间可以看出,查询效率大大降低。comparer是使用了泛型的成员,它内部使用int类型不会发生装箱,但是由于Enum没有IEquatable接口,内部运行时会引起装箱行为,该行为降低了查询的效率。期中n受传入的key的GetHashCode 的重复率影响,比如传入的key的hash值为5,Dictionary中hash值为5的值有100个,这100值相当于用链表存储,如果要查找的值在第20个那么n的值就是19。

用户评论