Dictionary的存储不是无序的吗?为什么我用foreach遍历输出都是有序的?
Dictionary<int,string> dic = new Dictionary<int,string>();
dic.Add(1,"一");
dic.Add(2,"二");
dic.Add(3, "三");
foreach (KeyValuePair<int,string> item in dic)
{
Console.WriteLine(item.Key.ToString()+item.Value.ToString());
}
Console.ReadKey();
如上的代码,输出顺序就是我存入的顺序啊。
另外如果把Dictionary换成Hashtable,那输出就是321的顺序,这又是为什么?
求大神解答!
相关推荐
c# 遍历 Dictionary的四种方式
一:背景 1. 讲故事 昨天在 StackOverflow 上看到一个很有趣的问题,说: 你会几种遍历字典的方式,然后跟帖就是各种奇葩的回答,挺有意思,马上就要国庆了,娱乐娱乐吧,说说这种挺无聊的问题:grinning_face_with_smiling_eyes::grinning_face_with_smiling_eyes::grinning_face_with_smiling_eyes:。 二: 使用 foreach 遍历 为了方便演示,先上一段测试代码: var dict = new Dictionary() { [10] = "A10", [20] = "A20", [30] = "A30", [40] = "A40", [50] = "
C# Dictionary的遍历和排序
c#遍历的两种方式 for和foreach for: 需要指定首位数据、末尾数据、数据长度; for遍历语句中可以改变数据的值; 遍历规则可以自定义,灵活性较高 foreach: 需要实现ienumerator接口; 在遍历中不可以改变数据的值; 遍历规则只能是'++' ; 但查询效率较高 Dictionary遍历方式: Dictionary<string> list = new Dictionary<string>(); list.Add(d, 1); //3.0以上版本 foreach (var item in list) { Cons
C#如何遍历Dictionary
主要为大家详细介绍了C#遍历Dictionary的方法,.NET中的Dictionary是键/值对的集合,使用起来比较方便,Dictionary也可以用KeyValuePair来迭代遍历,感兴趣的小伙伴们可以参考一下
C#中Dictionary几种遍历的实现代码
代码如下: Dictionary<string> list=new Dictionary<string>;//3.0以上版本foreach(var item in list){ Console.WriteLine(item.Key+item.Value);}//KeyValuePair<T>foreach(KeyValuePair<string> kv in list){ Console.WriteLine(kv.Key+kv.Value);}//通过键的集合取foreach(string key in list.Keys){
js中的for如何实现foreach中的遍历
js中没有foreach这个关键字,但是可以用var v in array来实现遍历,下面有个不错的示例,大家可以参考下


