问一下 NameValueCollection Dictionary HashTable的适用范围

ayun00 2011-05-11 11:42:39
我知道 HashTable 是唯一key 无序
Dictionary 是唯一key 但是可以排序
NameValueCollection key 可以重复

他们分别在什么环境下运用比较好?

我现在做一个权限系统 我想把 用户 权限 读成一个key value list

然后在具体环境中 根据 key 得到 value 根据 value的 true 或者false 来判断是否有权限

请问这样的情况用哪种比较好
...全文
216 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Xjt11235813 2012-08-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
HashTable是没有强类型的字典,Dictionary是.NET 2.0后支持泛型的字典
如果仅是普通字典需要Dictionary就可以满足

如果还需要通过索引值访问字典用OrderedDictionary,可惜没有泛型类

如果key是字符串,想用索引值访问,值也是字符串(支持多值),用NameValueCollection

如果想排序用SortedList或SortedD……
[/Quote]
NameValueCollection怎么得到他内部的key 和value值?
冰川711 2011-05-11
  • 打赏
  • 举报
回复
Dictionary
324374 2011-05-11
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ayun00 的回复:]

引用 2 楼 mgenx 的回复:
HashTable是没有强类型的字典,Dictionary是.NET 2.0后支持泛型的字典
如果仅是普通字典需要Dictionary就可以满足

如果还需要通过索引值访问字典用OrderedDictionary,可惜没有泛型类

如果key是字符串,想用索引值访问,值也是字符串(支持多值),用NameValueCollection

如果想排……
[/Quote]

看来你是新手,你的key是什么形式,就比方是TKey类型吧,用一个Dictionary<TKey, bool>来存就可以。
HashTable不支持这种泛型的字典,一切操作都是object,用Dictionary。

如果有排序需要的话用SortedList或SortedDictionary<TKey, bool>类型
ayun00 2011-05-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 mgenx 的回复:]
HashTable是没有强类型的字典,Dictionary是.NET 2.0后支持泛型的字典
如果仅是普通字典需要Dictionary就可以满足

如果还需要通过索引值访问字典用OrderedDictionary,可惜没有泛型类

如果key是字符串,想用索引值访问,值也是字符串(支持多值),用NameValueCollection

如果想排序用SortedList或SortedD……
[/Quote]

HashTable是没有强类型的字典
这句不是很明白

你的回答
对我来说 我还是不知道 我该用什么 他们的适用范围是那里


ayun00 2011-05-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jinkuang45 的回复:]
Dictionary
[/Quote]

为什么选它 好处是说什么?
324374 2011-05-11
  • 打赏
  • 举报
回复
HashTable是没有强类型的字典,Dictionary是.NET 2.0后支持泛型的字典
如果仅是普通字典需要Dictionary就可以满足

如果还需要通过索引值访问字典用OrderedDictionary,可惜没有泛型类

如果key是字符串,想用索引值访问,值也是字符串(支持多值),用NameValueCollection

如果想排序用SortedList或SortedDictionary(支持泛型)

根据需要自己选了

111,083

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧