Dictionary的存储不是无序的吗?为什么我用foreach遍历输出都是有序的?

histrainbow histrainbow 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

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] = "

weixin_38686860

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

weixin_38624556

C#如何遍历Dictionary

主要为大家详细介绍了C#遍历Dictionary的方法,.NET中的Dictionary是键/值对的集合,使用起来比较方便,Dictionary也可以用KeyValuePair来迭代遍历,感兴趣的小伙伴们可以参考一下

weixin_38635682

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){ 

weixin_38731239

js中的for如何实现foreach中的遍历

js中没有foreach这个关键字,但是可以用var v in array来实现遍历,下面有个不错的示例,大家可以参考下

weixin_38733281
评论 8
收藏 已收藏
分享
返回顶部
histrainbow
C# 111,129 成员 642,539 内容