Dictionary中元素的顺序

Dictionary中元素的顺序

我的问题是关于枚举字典元素


// Dictionary definition

private 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 IEnumerator

foreach (KeyValuePair<string, string> kvp in _Dictionary)

{

  Trace.Write(String.Format("{0}={1}", kvp.Key, kvp.Value));

}

枚举的元素将以什么顺序排列?我可以强制命令按字母顺序排列吗?


偶然的你
浏览 537回答 3
3回答

白衣非少年

字典中元素的顺序是非确定性的。订单的概念根本没有为哈希表定义。所以不要依赖枚举,因为元素被添加到字典中。这不能保证。从文档引用:出于枚举的目的,字典中的每个项目都被视为KeyValuePair<TKey, TValue>表示值及其键的结构。返回项的顺序未定义。

阿晨1998

如果您想要订购的元素,请使用OrderedDictionary。普通hastable /字典仅在存储布局的某种意义上被排序。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

CSS3