C#集合类型——Hashtable、Dictionary之浅谈
Hashtable表
数组、数组集合、List集合都是通过索引来访问里面成员。哈希表则是通过键来访问成员值。键不可为空,值可为空。
比如:
Hashtable hash=new Hashtable();
hash.Add("one","chen");
hash.Add("two","li");
Console.WriteLine(hash["one"]);
运行结果:chen
基本的常用方法
1,添加
Add()方法;如上,需要添加键和值。
2,删除
Clear()方法:Remove()方法;
hash.Clear();
结果就是清空hash表。
hash.Remove("one");
结果就是删除键为one的那一项,包括删除键和值。
3.遍历
foreach()与一般集合类型一样。就是输出结果需要分开输出。比如;
Console.WriteLine("键:"+hash.Key+"值:"+hash.Value);
4.查找
Contains()方法;ContainsValue()方法;
Console.WriteLine(hash.Contains("one"));//判断hash表中是否含有键为one的
运行结果:true
Console.WriteLine(hash.ContainsValue("chen"));//判断hash表中是否含有值为chen的
运行结果:true
哈希表的类型没有规定,因此在有的地方运行时会出错。这时候需要字典。
字典Dictionary<TKy,TValue>
字典和哈希表成员一样,需要键和值来对应。但是字典有对应的类型来控制键和值的属性。
比如:
Dictionary<int,string> dc=new Dictinary<int,string>();
常用的方法;
1,添加
dc.Add(1,"chen");
字典可以添加一般固定的类型如int,double,string,等还可以添加自定义类型,如 List 一样。
2,其他方法与哈希表一样。
注;当哈希表输出的键不存在时,输出的值结果为空;则字典输出的键不存在,输出的值结果时会报错。
最新文章
- CAD调试时抛出“正试图在 os 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码”异常的解决方法
- 重温JSP学习笔记--三大指令九大内置对象
- 前端使用js读取文件
- Scala初体验
- PDF、WORD、PPT、TXT转换方法
- bzoj 2282 [Sdoi2011]消防(树的直径,二分)
- MySQL简单使用
- 转:PHP的线程安全ZTS与非线程(NTS)安全版本的区别
- 说说数据库架构,ORM缓存和路由
- 代写java程序qq:928900200
- 《Machine Learning》系列学习笔记之第一周
- Docker(九):Docker容器卷插件
- mysql使用索引的注意事项
- django 实战篇之模板层
- HTML标签有序标签和无序标签
- secureCRT恶意终止下次无法启动
- Unicode转字符串
- 【Java入门提高篇】Day12 Java代理——Cglib动态代理
- A “Type Erasure” Pattern that Works in Swift:类型域的转换
- python--Anaconda学习笔记
热门文章
- spring-cloud-gateway过滤器实践
- Secret Milking Machine POJ - 2455 网络流(Dinic算法---广搜判断+深搜增广)+时间优化+二分
- 常见Web安全漏洞--------防盗链
- A股调整结束 很可能明天开始阶段性反弹 目标3100左右
- js 图片轮播简单版
- Python常用模块之json
- 面试官:JavaScript 原始数据类型 Symbol 有什么用?
- Java 程序该怎么优化?(工具篇)
- XSS编码问题的个人总结
- 1057 Stack (30分)(树状数组+二分)