Dictionary的遍历方法

本文介绍了如何顺序遍历带有<int,List<int>>结构字典的方法,包括直接遍历所有元素及通过Key作为索引来访问元素,并提供了实际运行结果对比。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      前两天遇到一个<int, List<int>>结构的字典,查了资料才知道怎么顺序遍历,现在简单的整理一下,以免以后忘记。

   public Dictionary<int, List<int>> dic = new Dictionary<int, List<int>>();
      字典赋值的代码就不贴了,元素的数据结构大家都是知道的,只是value又是一个整型List而已,下面介绍两种简单的遍历的方法:

      1. 直接遍历所有元素:

            int i = 0;
            Console.WriteLine("直接遍历元素:");
            foreach(KeyValuePair<int, List<int>> pair in dic)
            {
                string str1 = null;
                for(int index =0;index < pair.Value.Count;index ++)
                {
                    str1 += pair.Value[index];
                    str1 += ", ";
                }
                Console.WriteLine("第" + i + "个元素: " + "key = " + pair.Key + ", values = " + str1);
                i++;
            }

运行结果如下,每个元素的所有值我连成一串打了出来:


      2. 通过Key值作为索引来访问所有元素:

            i = 0;
            Console.WriteLine("\n把Key当做索引来访问元素");
            List<int> keys = new List<int>(dic.Keys);
            for (int index = 0; index < keys.Count; index ++ )
            {
                string str1 = null;
                for (int index1 = 0; index1 < dic[keys[index]].Count; index1++)
                {
                    str1 += dic[keys[index]][index1];
                    str1 += ", ";
                }
                Console.WriteLine("第" + i + "个元素: " + "key = " + keys[index] + ", values = " + str1);
                i++;
            }
运行结果同上,只是dic[keys[index]]
这种List的List的写法不容易理解,不过个人觉得为提高程序的可读性,还是选择第一种方法更加直观一些哈。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值