C#--Dictionary
时间:2019-08-29
本文章向大家介绍C#--Dictionary,主要包括C#--Dictionary使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一:理解Dictionary
1:在C#编程中,Dictionary的用途很广,很实用,它翻译成中文的意思是‘字典’,功能和现实中的字典功能很相似,他的结构是这样的:Dictionary<[key], [value]>,存数据的时候是以键值对的形式存的,取数据的时候也是通过键,找到对应的值!存取都很方便
2:他本身有集合的功能有时候可以把它看成数组,可以存很多值,取的时候只要用对应的键就可以拿到对应的值
3:有时候在做项目时候,我们会有这么个需求,拿对应的值,去数据库中取对应的数据,但是如果每次都去数据库中查找,这样效率会很低,因为每次都要访问数据库,中间会经历很多步骤,这个时候就可以把数据一次性读取,存入到字典里,再从字典里取对应的数据,效率会大大提高!
二:代码示例
static void Main(string[] args) { //实例化对象 //键为int类型,值为string类型 Dictionary<int, string> dic = new Dictionary<int, string>(); //对象打点添加 dic.Add(1, "one"); dic.Add(2, "two"); dic.Add(3, "three"); //提取元素的方法 string a = dic[1]; string b = dic[2]; string c = dic[3]; Console.WriteLine(a + "," + b + "," + c); //实例化对象 //键为string类型,值为string类型 Dictionary<string, string> dic2 = new Dictionary<string, string>(); dic2.Add("name", "张三"); dic2.Add("age", "18"); dic2.Add("add", "上海"); //提取元素的方法 string name = dic2["name"]; string age = dic2["age"]; string add = dic2["add"]; Console.WriteLine("姓名:" + name + ", " + "年龄:" + age + ", " + "地址:" + add); Console.ReadKey(); }
三:对字典排序
Dictionary<int, string> dic = new Dictionary<int, string>(); dic.Add(1, "1"); dic.Add(5, "5"); dic.Add(3, "3"); dic.Add(2, "2"); dic.Add(4, "4"); var result = from res in dic orderby res.Key select res; foreach (KeyValuePair<int, string> res in result) { Console.WriteLine("Key:{0}, Value:{1}", res.Key, res.Value); } Console.ReadKey();
四:使用案例
1,需求:现在要导入一批数据,这些数据中有一个称为公司的字段是我们数据库里已经存在了的,目前我们需要把每个公司名字转为ID后才存入数据库。
2,分析:每导一笔记录的时候,就把要把公司的名字转为公司的ID,这个不应该每次都查询一下数据库的,因为这太耗数据库的性能了。
解决方案:在业务层里先把所有的公司名称及相应的公司ID一次性读取出来,然后存放到一个Key和Value的键值对里,然后实现只要把一个公司的名字传进去,就可以得到此公司相应的公司ID,就像查字典一样。对,我们可以使用字典Dictionary操作这些数据
代码示例:
class Program { static void Main(string[] args) { Dictionary<string, int> myDictionary = SetKeyValue(); //测试得到公司2的值 int directorValue = myDictionary["公司2"]; Console.Write("公司2的value是:" + directorValue.ToString()); } public static Dictionary<string, int> SetKeyValue() { Dictionary<string, int> dic = new Dictionary<string, int>(); dic.Add("公司1", 1); dic.Add("公司2", 2); dic.Add("公司3", 3); dic.Add("公司4", 4); return dic; } }
总结完毕!
原文地址:https://www.cnblogs.com/dcy521/p/11427972.html
- NLP真实项目:利用这个模型能够通过商品评论去预测一个商品的销量
- python + selenium + PhantomJS 获取腾讯应用宝APP评论
- 简单实用的sql小技巧(第二篇)(r3笔记第86天)
- Java代码效率优化【面试+提高】
- 利用逻辑回归模型判断用户提问意图
- 关于reset sequence(r3笔记第85天)
- 【编程基础第十二讲】web开发编程基础--回调函数
- typeof的一些兼容性问题
- 类型转换的判定方式
- 【Java案例】打印杨辉三角
- html标签属性(attribute)和dom元素的属性(property)
- 关于long类型的转换(r3笔记第84天)
- jQuery的事件模型
- 关于索引的内部信息(r3笔记第83天)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- PHP代码审计01之in_array()函数缺陷
- 分治思想 : 并归排序与其时间复杂度
- java Spring系列之 配置文件的操作 +Bean的生命周期+不同数据类型的注入简析+注入的原理详解+配置文件中不同标签体的使用方式
- 算法系列1 初识算法 算法复杂性模型 算法复杂度的计算
- 树莓派基础实验32:DS1302实时时钟模块实验
- Failed to parse date ["1534467411000"]:Invalid time zone indicator '0'
- 快速排序 : 调优:3亿数据40秒,2亿数据30秒,1亿数据15秒
- Spring系列之新注解配置+Spring集成junit+注解注入
- Spring系列之aAOP AOP是什么?+xml方式实现aop+注解方式实现aop
- 线上工程启动日志不滚动了——通过查看堆栈信息排查的过程(ES批量插入)
- Java中使用方法的注意事项
- 微信小程序转发朋友圈详解
- Error: Protocol error, got "H" as reply type byte
- 树莓派基础实验33:TCRT5000红外循迹传感器实验
- 10W个Java对象有多大