关于Dictionary字典和List列表
命名空间System.Collections.Generic中有两个非常重要,而且常用的泛型集合类,它们分别是Dictionary<TKey,TValue>字典和List<T>列表。Dictionary字典通常用于保存键/值对的数据,而List列表通中用于保存可通过索引访问的对象的强类型列表。下面来总结一下,用代码来演示怎么初始化,增加,修改,删除和遍历元素。
Dictionary<TKey,TValue>字典
代码如下:
namespace DictionaryDemo1{class Program {static void Main(string[] args) {//创建Dictionary<TKey,TValue>对象 Dictionary<string, string> openWith = new Dictionary<string, string>(); //添加元素到对象中,共有两种方法。注意,字典中的键不可以重复,但值可以重复。//方法一:使用对象的Add()方法 openWith.Add("txt", "notepad.exe"); openWith.Add("bmp", "paint.exe"); openWith.Add("dib", "paint.exe"); openWith.Add("rtf", "wordpad.exe"); //方法二:使用索引器Indexer//openWith["txt"] = "notepad.exe";//openWith["bmp"] = "paint.exe";//openWith["dib"] = "paint.exe";//openWith["rtf"] = "wordpad.exe"; //增加元素,注意增加前必须检查要增加的键是否存在使用ContainsKey()方法 if (!openWith.ContainsKey("ht")) { openWith.Add("ht", "hypertrm.exe");//或openWith["ht"] = "hypertrm.exe"; Console.WriteLine("增加元素成功!Key={0},Value={1}","ht",openWith["ht"]); } //删除元素,使用Remove()方法 if (openWith.ContainsKey("rtf")) { openWith.Remove("rtf"); Console.WriteLine("删除元素成功!键为rtf"); } if (!openWith.ContainsKey("rtf")) { Console.WriteLine("Key=\"rtf\"的元素找不到!"); } //修改元素,使用索引器 if (openWith.ContainsKey("txt")) { openWith["txt"] = "notepadUpdate.exe"; Console.WriteLine("修改元素成功!Key={0},Value={1}", "txt", openWith["txt"]); } //遍历元素,因为该类实现了IEnumerable接口,所以可以使用foreach语句,注意元素类型是 KeyValuePair(Of TKey, TValue) foreach (KeyValuePair<string, string> kvp in openWith) { Console.WriteLine("Key={0},Value={1}",kvp.Key,kvp.Value); } Console.WriteLine("遍历元素完成!"); Console.ReadKey(); } }}
程序输出结果:
List<T>列表
代码如下:
namespace ListDemo1{class Program {static void Main(string[] args) {//创建List<T>列表对象 List<string> dinosaurs = new List<string>(); //增加元素到列表(或称为初始化),注意初始化时不能使用索引器,因为没有增加元素之前list列表是空的 dinosaurs.Add("Tyrannosaurus"); dinosaurs.Add("Amargasaurus"); dinosaurs.Add("Mamenchisaurus"); dinosaurs.Add("Deinonychus"); dinosaurs.Add("Compsognathus"); //一个重要属性 Console.WriteLine("列表中的元素数为: {0}", dinosaurs.Count);//获取 List 中实际包含的元素数 //插入元素,使用Insert()方法 dinosaurs.Insert(2, "Compsognathus");//将元素插入到指定索引处,原来此位置的元素后移 Console.WriteLine("在索引为2的位置插入了元素{0}",dinosaurs[2]); //删除元素,使用Remove()方法 dinosaurs.Remove("Compsognathus");//从 List 中移除特定对象的第一个匹配项 Console.WriteLine("删除第一个名为Compsognathus的元素!"); //修改元素,使用索引器 dinosaurs[0] = "TyrannosaurusUpdate"; Console.WriteLine("修改索引为0的元素成功!"); //遍历元素,使用foreach语句,元素类型为string foreach (string dinosaur in dinosaurs) { Console.WriteLine(dinosaur); } Console.WriteLine("遍历元素完成!"); Console.ReadKey(); } }}
程序输出结果:
转载于:https://www.cnblogs.com/xuekai-to-sharp/p/3411822.html
关于Dictionary字典和List列表相关推荐
- 你能熟练使用Dictionary字典和List列表吗?
命名空间System.Collections.Generic中有两个非常重要,而且常用的泛型集合类,它们分别是Dictionary<TKey,TValue>字典和List<T> ...
- 【Python】数据类型 Number数字、String字符串、List列表、Tuple元组、Set集合、Dictionary字典
Python数据类型 2021/6/3 周四 学习内容: Python数据类型.Number(数字).String(字符串).List(列表).Tuple(元组).Set(集合).Dictionary ...
- 接口,常用接口,列表ArrayList,泛型,Dictionary(字典),Dictionary版-火星文翻译器,其他集合类...
接口 接口相当于没有方法实现的抽象类. public interface Flyable { void Flay(); } 接口方法不要public.(为什么不能用private,public,因为如 ...
- 编码字典类特征、使用sklearn的DictVectorizer方法将字典组成的列表转换成向量、详解及实战
编码字典类特征.使用sklearn的DictVectorizer方法将字典组成的列表转换成向量.详解及实战 sklearn.feature_extraction.DictVectorizer() 把字 ...
- python列表字典操作_Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结...
创建列表 sample_list = ['a',1,('a','b')] Python 列表操作 sample_list = ['a','b',0,1,3] 得到列表中的某一个值 value_star ...
- 如何在Python中将字典键作为列表返回?
本文翻译自:How to return dictionary keys as a list in Python? In Python 2.7 , I could get dictionary keys ...
- JavaScript数据结构之字典和散列表
JavaScript数据结构之字典和散列表 集合.字典和散列表可以存储不重复的值.在字典中,我们用[键,值]的形式来存储数据.在散列表中也是一样(也是以[键,值]对的形式来存储数据) 字典 集合表示一 ...
- Dictionary字典
N.1 Dictionary字典 1)dictionary{ k1:v , k2:v} 字典由索引(key)和它对应的值value组成. 2)列表是有序的对象集合,字典是无序的对象集合. 3)两者之间 ...
- python元组转字典_python中怎么将元组、字典转化为列表
python中将元组.字典转化为列表的方法: python中可以使用list()方法将元组或字典转化为列表: list()方法语法:list( tup ) 参数 tup -- 要转换为列表的元组. 返 ...
最新文章
- 去除某些网站 复制粘贴尾巴
- VC++ MFC DLL动态链接库编写详解
- Spring Boot 使用 AOP 防止重复提交
- java scala 混合打包_scala和java混合开发打包
- 写JQuery 插件 什么?你还不会写JQuery 插件
- 修复Net4.0在IE11下doPostBack无效的问题
- 斐波那契数列(信息学奥赛一本通-T1159)
- 用户登录python_python用户登录系统
- 微软中国回应关闭实体直营店:中国市场保持正常营运
- 组策略不让你登陆你怎么办
- 根据一个id查找出数组里面的数据并改掉_Excel最强大的VLOOKUP以及INDEXamp;MATCH查找函数...
- 嵌入式系统——软件知识产权
- 同学,那些个证书没屌用!
- GitHub排名第一!免费最”强“12306抢票神器,程序员再不用跪求加速包!
- Java动态代理的实现和源码分析
- 大疆2018网申之机器学习算法工程师笔试题B卷
- 金士顿服务器内存条怎么看型号,【查看内存条参数】 内存条上的参数怎么看...
- 基于Halcon的螺栓螺丝部分划痕、腐蚀缺陷检测
- RISC-V嵌入式开发入门篇1:RISC-V GCC工具链的介绍
- php引用符号详解——————给变量起小名
热门文章
- 不能错过的RTS经典:《蘑菇战争2》是如何做玩法创新的?
- 趣说游戏AI开发:曼哈顿街角的A*算法
- XMLHttpRequest对象在IE和Firefox中创建方式有没有不同?
- Oracle 数据库启动 startup和startup force的区别
- Oracle数据库索引失效,引起GoldenGate异常
- mysql内置函数,在mysql里面利用str_to_date()把字符串转换为日期格式
- 推荐11个实用Python库
- 51Nod 1102 面积最大的矩形 +1272 最大距离 单调栈
- 微信公众号获取acess_token并存储(php)
- 解决UIScrollView把uitableviewcell的点击事件屏蔽