C# 集合(五) —— Dictionary类

总目录
C# 语法总目录

集合五 Dictionary

  • 1. Dictionary

1. Dictionary

字典是键值对集合,通过键值对来查找

  • Dictionary和Hashtable的区别是Dictionary可以用泛型,而HashTable不能用泛型

  • OrderedDictionary 是按照添加元素时的顺序的字典,是一个非泛型字典,可以用索引访问文员,也可以用键来访问元素,类似HashTable和ArrayList的结合

其他类型:

  • ListDictionary是使用一个独立链表来存储实际的数据,数据多时效率不好

  • HybridDictionary是为了解决ListDictionary数据多时效率不好的情况,用来替代ListDictionary。

  • SortedDictionary,内部由红黑树实现,内部根据键进行排序

//Hashtable

Hashtable hashtable = new Hashtable();
hashtable.Add("name", "lisi");
hashtable.Add("txt", "notepad.exe");
hashtable.Add("bmp", "paint.exe");
hashtable.Add("dib", "paint.exe");
hashtable.Add("rtf", "wordpad.exe");
try
{hashtable.Add("txt", "winword.exe");
}
catch (Exception)
{Console.WriteLine("An element with Key = \"txt\" already exists.");
}Console.WriteLine("For key = \"txt\", value = {0}.", hashtable["txt"]);//An element with Key = "txt" already exists.
//For key = "txt", value = notepad.exe.foreach (DictionaryEntry de in hashtable)
{Console.WriteLine("Key = {0}, Value = {1}", de.Key, de.Value);
}//Key = dib, Value = paint.exe
//Key = bmp, Value = paint.exe
//Key = rtf, Value = wordpad.exe
//Key = name, Value = lisi
//Key = txt, Value = notepad.exeif (!hashtable.ContainsKey("doc"))
{Console.WriteLine("Key \"doc\" is not found.");
}

//Dictionary

Dictionary<string, int> dics = new Dictionary<string, int>();dics.Add("name", 123);
dics.TryAdd("name", 456);//如果有了键,那么就不会再添加了dics.TryAdd("age", 50);
dics["age"] = 45;       //修改
dics.Remove("age");
dics.Remove("time");//不管有没有也不报错Console.WriteLine(dics["name"]);int value;
Console.WriteLine(dics.TryGetValue("name",out value));Console.WriteLine(value);
//123
//True
//123

总目录
C# 语法总目录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/836001.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

5分钟速通大语言模型(LLM)的发展与基础知识

✍️ 作者&#xff1a;哈哥撩编程&#xff08;视频号同名&#xff09; 博客专家全国博客之星第四名超级个体COC上海社区主理人特约讲师谷歌亚马逊演讲嘉宾科技博主极星会首批签约作者 &#x1f3c6; 推荐专栏&#xff1a; &#x1f3c5; 程序员&#xff1a;职场关键角色通识宝…

N5183B是德科技n5183b信号源

181/2461/8938产品概述&#xff1a; 简  述&#xff1a; N5183B 频率范围&#xff1a;9 kHz 至 20 GHz&#xff0c;具有 AM、FM、相位调制功能。N5183B MXG X 系列微波模拟信号发生器拥有 9 kHz 至 40 GHz 的频率覆盖范围&#xff0c;以及接近 PSG 级别的相位噪声性能&…

3588 pwm android12 的操作

问题&#xff1a; 客户需要在android12 的界面上操作板卡上的 PWM 蜂鸣器设备。 过程&#xff1a; 1 了解一下 3588 android12 源码的 关于PWM 的驱动。 设备树找不到 pwm 但是&#xff0c; 还不知道&#xff0c;android12 最终包含的 设备树是哪个&#xff0c;但是经过我的…

ctfshow SSRF 351-358

做题前,需要先学习关于ssrf漏洞的相关知识 小注意: 当使用 file_get_contents() 函数访问远程 URL 时&#xff0c;它会尝试获取该 URL 指向的资源的内容&#xff0c;并将内容以字符串的形式返回。 如果 b.php 文件是一个 PHP 文件&#xff0c;它包含的内容取决于该 PHP 文件…

素数伴侣最大组合数

若两个正数之和为素数&#xff0c;则这两个数称之为“素数伴侣”。利用此特性找出给定数组中最大的“素数伴侣”对数。 (笔记模板由python脚本于2024年05月11日 18:17:40创建&#xff0c;本篇笔记适合熟悉基本编程且了解素数的coder翻阅) 【学习的细节是欢悦的历程】 Python 官…

阿里云ECS服务器实例挂载数据盘步骤(磁盘自动挂载.、访问挂载点)

阿里云ECS服务器实例挂载数据盘步骤 相关指令 df -h 查看磁盘空间 du -sh * 查看使用内存大小1.磁盘自动挂载 首先登录阿里云ECS服务器&#xff0c;通过 df -h 命令查看当前磁盘挂载情况 通过 fdisk -l 命令查看磁盘情况&#xff0c;可以发现有两个盘&#xff1a; 系统盘 …

绍兴ISO27001认证:信息安全认证的金钥匙

&#x1f308;&#x1f308;绍兴ISO27001认证&#xff1a;✌️信息安全认证的金钥匙&#x1f511; &#x1f498;随着信息技术的飞速发展&#xff0c;&#x1f481;信息安全问题日益凸显。&#x1f510;为了提升信息安全管理水平&#xff0c;&#x1f46e;保障企业数据资产安全…

2024OD机试卷-绘图机器 (java\python\c++)

题目:绘图机器 题目描述 绘图机器的绘图笔初始位置在原点(0,0)机器启动后按照以下规则来进行绘制直线。 尝试沿着横线坐标正向绘制直线直到给定的终点E期间可以通过指令在纵 坐标轴 方向进行偏移,offsetY为正数表示正向偏移,为负数表示负向偏移 给定的横坐标终点值E 以及若…

python使用elasticserch进行混合搜索构建知识库

python使用elasticserch进行混合搜索 基于python使用elasticserch安装elasticsearch连接elasticsearch创建索引写入数据搜索数据关键字搜索KNN搜索向量搜索混合搜索 基于python使用elasticserch 安装elasticsearch pip install elasticsearch连接elasticsearch es_username …

神经网络复习--神经网络算法模型及BP算法

文章目录 神经网络模型的构成BP神经网络 神经网络模型的构成 三种表示方式&#xff1a; 神经网络的三要素&#xff1a; 具有突触或连接&#xff0c;用权重表示神经元的连接强度具有时空整合功能的输入信号累加器激励函数用于限制神经网络的输出 感知神经网络 BP神经网络 …

解释Java中的泛型通配符和泛型方法

泛型通配符&#xff08;Wildcard&#xff09; Java 中的泛型通配符 ? 使用在泛型类型的声明中&#xff0c;表示未知的类型参数。通配符通常用在参数、字段、局部变量或者返回类型上&#xff0c;为泛型带来了更高的灵活性。泛型通配符主要分为三种形式&#xff1a; 无界通配符…

GO: json 处理

需要引入"encoding/json"包 json解析到map jsonStr : "{\"a\":\"test\",\"b\":\"testb\"}" var dat map[string]string err : json.Unmarshal([]byte(jsonStr), &dat) if err nil {fmt.Println(dat) }结果…

内容检索(2024.05.12)

随着创作数量的增加&#xff0c;博客文章所涉及的内容越来越庞杂&#xff0c;为了更为方便地阅读&#xff0c;后续更新发布的文章将陆续在此汇总并附上原文链接&#xff0c;感兴趣的小伙伴们可持续关注文章发布动态&#xff01; 本期更新内容&#xff1a; 1. 信号仿真类话题-…

webpack5基础和配置

初步体验webpack打包 webpack是一个静态资源打包工具。 它会以一个或多个文件作为打包的入口&#xff0c;将我们整个项目所有文件编译组合成一个或多个文件输出出去。 输出的文件就是编译好的文件&#xff0c;就可以在浏览器段运行了。 1.初始化最简单的一个目录文件&#xff…

JavaSE——集合框架一(1/7)-集合体系概述(集合体系结构,Collection集合体系)、Collection的常用方法(介绍,实例演示,代码)

目录 集合体系概述 集合体系结构 Collection集合体系 Collection的常用方法 介绍 实例演示 完整代码 集合体系概述 集合体系结构 集合是一种容器&#xff0c;用来装数据的&#xff0c;类似于数组&#xff0c;但集合的大小可变&#xff0c;开发中也非常常用。 为了满足…

element-ui 中 如何在el-upload的移除文件列表事件 on-remove 中调用后端进行数据库的删除。

问题描述&#xff1a; 刚开始的时候我设置的是实时上传&#xff1a; auto-upload"true", :http-request"uploadResource"绑定的这个方法就去后端进行实时上传附件了&#xff0c;这个时候就已经保存到数据库。 那么问题来了&#xff1a; :on-remove"…

flask+layui显示监控视频

1、flask简介 flask是python中的一个轻量级web框架。 2、layui简介 Layui 是一套开源免费的 Web UI 组件库&#xff0c;采用自身轻量级模块化规范&#xff0c;遵循原生态的 HTML/CSS/JavaScript 开发模式&#xff0c;非常适合网页界面的快速构建。Layui 区别于一众主流的前端…

# ERROR: node with name “rabbit“ already running on “MS-ITALIJUXHAMJ“ 解决方案

ERROR: node with name “rabbit” already running on “MS-ITALIJUXHAMJ” 解决方案 一、问题描述&#xff1a; 1、启动 rabbitmq-server.bat 服务时&#xff0c;出错 Error 2、查询 rabbitmqctl status 状态时&#xff0c;出错 Error 3、停止 rabbitmqctl stop 服务时&a…

Rust 语言的“命名空间” —— mod

在Rust中&#xff0c;虽然没有像C中的namespace这样的显式关键字&#xff0c;但是Rust通过模块&#xff08;mod&#xff09;系统提供了一种类似命名空间的功能。模块允许你将相关的代码组织在一起&#xff0c;并可以通过pub关键字来控制哪些项&#xff08;如函数、结构体、枚举…

软考 系统架构设计师系列知识点之杂项集萃(3)

接前一篇文章&#xff1a;软考 系统架构设计师系列知识点之杂项集萃&#xff08;2&#xff09; 第4题 软件架构贯穿于软件的整个生命周期&#xff0c;但在不同阶段对软件架构的关注力度并不相同&#xff0c;在&#xff08; &#xff09;阶段&#xff0c;对软件架构的关注最多。…