[Quote=引用 10 楼 的回复:] 拿事实说话,楼上的某些人该闭嘴就闭嘴。自己测去 Dictionary<object, int> m = new Dictionary<object, int>(); for (int i = 0; i < 10; i++) { m.Add(new object(),i); } foreach (var item in m) { Console.W…… [/Quote] 0.0~
看了楼上回复,我确认以下几点: 1.Dictionary<K,V>是以Hash技术为基础构建的。在理想情况下,查找时间复杂度为O(1) 2.从项目实践上看,Dictionary在初始是以插入顺序排的。但MSDN上没有保证过这一点。 3.Hashtable是明确不按插入顺序来排的。 事实上,很多时候,我既需要快速的检索,又需要保证元素的插入顺序。这个时候确很纠结,用List<>的话,只能顺序检索。用Hashtable无法保证顺序。只好用Dictionary了。一般也不会中间删除元素。虽然MSDN没有保证,也就是说他今后改了算法,你的程序跑出错了不是他的责任。 但这个可能性比较小。
110,533
社区成员
642,574
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧