1. 遍历性能,如果想通过遍历获取Dictionary 的键值对,方法有两种

方法 一

/// <summary>
        /// 通过key 访问键值对
        /// </summary>
        private static  void keyPerformance(Dictionary<string,string> dic)
        {
            DateTime start = DateTime.Now;
            string val = string.Empty;
            string key = string.Empty;
            foreach (string item in dic.Keys)
            {
                key = item;
                val = dic[item];
            }
            DateTime end = DateTime.Now;
            TimeSpan span = end.Subtract(start);
            Console.WriteLine(" foreach keys spend time:{0}",span.TotalMilliseconds);
        }

方法 二  性能最佳 推荐使用

/// <summary>
        /// 通过 KeyValuePair 访问键值对(推荐使用)
        /// </summary>
        /// <param name="dic"></param>
        private static void keyValPerformance(Dictionary<string , string> dic)
        {
            DateTime start = DateTime.Now;
            string val = string.Empty;
            string key = string.Empty;
            foreach (KeyValuePair<string ,string> item in dic)
            {
                key = item.Key;
                val = item.Value;
            }
            DateTime end = DateTime.Now;
            TimeSpan span = end.Subtract(start);

Console.WriteLine(" foreach keyVals spend time:{0}", span.TotalMilliseconds);
        }

以下是耗时对比

耗时: keys集合遍历 > keyvaluePair遍历

2. 其它遍历

如果获取 dictionary 中的key 推荐 方法一

耗时: keyvalPair 遍历 >keys 集合遍历

如果获取 dictionary 中的value 推荐如下方法

private static void valPerformance(Dictionary<string , string> dic)
        {
            DateTime start = DateTime.Now;
            string val = "";
            foreach (string  item in dic.Values)
            {
                val = item.value;
            }
            DateTime end = DateTime.Now;
            TimeSpan span = end.Subtract(start);
            Console.WriteLine(" foreach vals spend time:{0}", span.TotalMilliseconds);
        }

耗时: keyValPair 遍历 > values 集合遍历

C# dictionary 遍历性能分析相关推荐

  1. JAVA→HashMap、常用方法、遍历方式、底层原理、初始化性能分析

    Map方法 HashMap HashMap()遍历 HashMap()四种遍历性能分析 HashMap()底层原理 HashMap()是否初始化大小性能分析 LinkedHashMap()

  2. vim 高级应用 原文地址 http://www.2maomao.com/blog/wp-content/uploads/vim_tips.txt

    最佳vim技巧 ---------------------------------------- # 信息来源 ---------------------------------------- www ...

  3. Python 字典(Dictionary) get()方法

    Python 字典(Dictionary) get()方法 描述 Python 字典(Dictionary) get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法 get()方法语法: ...

  4. Android 应用进行性能分析/APP/系统性能分析

    如何对 Android 应用进行性能分析 记录一下自己在使用DDMS的过程:开启AS,打开并运行项目  找到TOOL/选择Android Device Monitor 一款 App 流畅与否安装在自己 ...

  5. Python 字典(Dictionary)

    Python 字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在 ...

  6. Dictionary作为数据源绑定,调用c++库中返回为BYTE*的函数,listView项排序

    最近在做一个电子档案管理的项目.现在还处于初期,只是做一个简单demo拿去跟客户演示.至于最后谈不谈得下来,到底做不做,反正我是不看好,但没因为这样就马马虎虎.草草了事.这个项目算是b/s加c/s混合 ...

  7. 技术图文:浅析 C# Dictionary实现原理

    背景 对于 C# 中的 Dictionary类 相信大家都不陌生,这是一个 Collection(集合) 类型,可以通过 Key/Value (键值对) 的形式来存放数据:该类最大的优点就是它查找元素 ...

  8. python报错 ValueError: dictionary update sequence element #0 has length 1; 2 is require

    原文链接地址: https://blog.csdn.net/weixin_40894428/article/details/80683137 字符串转字典要用eval(),这个方法很多书上都没有介绍, ...

  9. 迭代var()内置函数的时候出现RuntimeError: dictionary changed size during iteration的解决办法...

    下午看了Mr Seven的教学视频,其中有一段讲全局变量的视频,迭代输出全局变量的时候报错了. 视频中的做法: for k,v in vars().items():print(k) 打印结果 for ...

最新文章

  1. Sobel算子及cvSobel
  2. Qt 信号量 QSemaphore Class 的翻译
  3. sequelize连接mysql_node.js通过Sequelize 连接MySQL
  4. 第二十九期:全球首部AI交响变奏曲问世,AI技术应用再拓边界
  5. ES6~ES12——Array Includes、Object values、Object entries、Object fromEntries、flat、flatMap、空值合并运算符、可选链等
  6. 人脸检测与对齐之MTCNN网络
  7. Java面试之锁-自旋锁
  8. 关于COM的Reg-Free(免注册)技术简介及实例讲解。
  9. python中ta_非常详细的Ta-Lib安装及使用教程
  10. Oracle 11gR2 sessions=1.5*processes+22
  11. android自定义软键盘
  12. Oracle停止数据泵,如何停止重启数据泵任务
  13. react 表单设计器_神器:让你相见恨晚的5个React应用程序库
  14. 「PMP答题卡」真实模拟PMP考试
  15. ​依图上市,AI 四小龙走向「三岔路口」
  16. MFC自制小游戏——躲避球(每日进度)
  17. centos7.4运行hyperLedger fabric 1.3.0 first network
  18. Hadoop集群搭建(三)
  19. 华中科技大学2017年数学分析高等代数考研试题
  20. 一些牛人榜样,多看看他们写的东西

热门文章

  1. IP 获取和 IP定位
  2. 区块链技术用于商品溯源
  3. python put指令是什么意思_request.put()但它请求使用PUT在我的Python上使用GET
  4. xmpp 中文 XEP-0084: 用户头像
  5. 微信如何备份全部的聊天记录到电脑
  6. JAVA毕业设计家电售后管理系统计算机源码+lw文档+系统+调试部署+数据库
  7. 无人机倾斜摄影技术在测绘领域的应用
  8. DanceNN:字节自研千亿级规模文件元数据存储系统概述
  9. 计算机科学与技术学科交叉,计算机科学与技术学科方法论.ppt
  10. 大二JavaWeb课程设计——图书管理系统(可以很好的应付老师的作业)