为了账号安全,请及时绑定邮箱和手机立即绑定

Dictionary中元素的顺序

Dictionary中元素的顺序

偶然的你 2019-09-10 13:08:29
Dictionary中元素的顺序我的问题是关于枚举字典元素// Dictionary definitionprivate Dictionary<string, string> _Dictionary = new Dictionary<string, string>();// add values using add_Dictionary.Add("orange", "1");_Dictionary.Add("apple", "4");_Dictionary.Add("cucumber", "6");// add values using []_Dictionary["banana"] = 7;_Dictionary["pineapple"] = 7;// Now lets see how elements are returned by IEnumeratorforeach (KeyValuePair<string, string> kvp in _Dictionary){  Trace.Write(String.Format("{0}={1}", kvp.Key, kvp.Value));}枚举的元素将以什么顺序排列?我可以强制命令按字母顺序排列吗?
查看完整描述

3 回答

?
白衣非少年

TA贡献1155条经验 获得超0个赞

字典中元素的顺序是非确定性的。订单的概念根本没有为哈希表定义。所以不要依赖枚举,因为元素被添加到字典中。这不能保证。

从文档引用:

出于枚举的目的,字典中的每个项目都被视为KeyValuePair<TKey, TValue>表示值及其键的结构。返回项的顺序未定义。



查看完整回答
反对 回复 2019-09-18
?
阿晨1998

TA贡献2037条经验 获得超6个赞

如果您想要订购的元素,请使用OrderedDictionary。普通hastable /字典仅在存储布局的某种意义上被排序。


查看完整回答
反对 回复 2019-09-18
  • 3 回答
  • 0 关注
  • 543 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信