Dictionary基本用法

2023-11-03

C#中字典Dictionary的用法

1.创建Dictionary
Dictionary<int, string> dic = new Dictionary<int, string>();
2.Dictionary添加元素
//dic.Add(Key,Value);
dic.Add(1, "张三");
dic.Add(2, "李四");
dic.Add(3, "王五");
dic.Add(4, "李六");
dic.Add(5, "赵七");
dic[6] = "斗帝";//public TValue this[TKey key] { get; set; }

3.遍历

//遍历Key和Value
for (int i = 0; i < dic.Count; i++)
	Console.WriteLine($"Key:{dic.Keys.ToArray()[i]},Value:{dic.Values.ToArray()[i]}");
foreach(KeyValuePair<int, string> kvp in dic)
	Console.WriteLine($"Key:{kvp.Key},Value:{kvp.Value}");
//遍历Key
foreach(var key in dic.Keys)
	Console.WriteLine($"Key:{key}");
//遍历Value
foreach(var value in dic.Values)
	Console.WriteLine($"Value:{value}");    

4.根据Key值取Value

//确定key在字典集中存在
string value = dic[1];
//不确定key是否存在字典集当中
value = dic.FirstOrDefault(d=>d.key == 1).Value;

5.根据Value值取Key

//lambada表达式
int key = dic.FirstOrDefault(d => d.Value == "李四").Key;
//linq to object
key = (from query in dic.AsEnumerable()
       where query.Value == "王五"
       select new 
       { 
       		query.Key 
       }
       ).Select(d => d.Key).ToList().FirstOrDefault();

6.判断Key是否存在

bool keyBool = false;
keyBool = dic.Keys.Contain(key);
keyBool = dic.ContainsKey(key);

7.判断Value是否存在

bool valueBool = false;
valueBool = dic.Values.Contain(key);
valueBool = dic.ContainsValue(key);

8.移除元素

//移除单个元素
dic.Remove(key);
//移除所有
dic.Clear();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Dictionary基本用法 的相关文章

随机推荐

  • arcgis 发布wmts服务,弹出“服务器未做好发布准备”错误,解法。

    arcgis 发布wmts服务 总弹出 服务器未做好发布准备 之后 到arcgis server manage中找到服务发布工具启动 1 访问并登录管理器 http localhost 6080 arcgis manager 2 找到sys
  • 编译原理-简洁笔记 (一)

    编译原理 文章目录 编译原理 计算机程序语言及编译 编译器在语言处理系统中的位置 编译系统的结构 词法分析 语法分析 概述 语义分析 概述 中间代码生成 文法 上下文无关文法分析树 正则表达式 有穷自动机 计算机程序语言及编译 高级语言 数
  • 各版本Opencv对应的各版本Python安装包

    各版本Opencv的对应的各版本Python安装包 https www lfd uci edu gohlke pythonlibs opencv
  • Windows 10 自带的远程协助工具 快速助手

    概述 之前一直是使用 Teamviewer 来作为远程协助工具 但是最近发现控制端必须要登录账号才能使用 而且还有设备数量上的限制 所以就打算另找一个软件来代替 无意中发现了 原来在 Windows 10中已经内置了一个远程协助的工具 这下
  • 自学C语言(10)define定义常量和宏 内存 指针变量

    文章前言 学的太多 更新的太少了哈哈 总不能把学的忘记了 回顾知识 继续总结 文章目录 一 define定义常量和宏 1 define定义标识符常量 2 define定义宏 二 内存 内存 如何产生地址 计算机32位 二进制 计算机64位
  • css3——transform:rotate(旋转)、scale(缩放)、skew(拉伸)、translate(平移)、transform-origin

    注意 transform是复合属性 拆开写会替代 先平移再旋转和先旋转再平移的结果是不同的 1 CSS3 转换 transform属性可以对元素进行移动 缩放 转动 拉长或拉伸 注意 Internet Explorer 9 要求前缀 ms
  • git配置公私秘钥-小乌龟TortoiseGit

    1 大致步骤简述 1 需要将公钥放到gitLab上 私钥自己保存 2 使用puttygen exe来生成秘钥对 3 在gitLab上设置中配置SSH公钥 一串ssh rsa开头的 2 标题详细步骤 1 生产公私秘钥 安装好git后 右键打开
  • 数据预处理和特征工程

    数据预处理 从数据中检测 纠正 删除损坏的不准确的或者不适用于模型记录的过程 目的 让数据更加适应模型 匹配模型需求 特征工程 将原始数据转换为更能代表预测模型的潜在问题的特征工程 可以通过挑选最相关特征 提取特征以及创造特征来实现 其中创
  • UEeditor 使用 和图片上传

    首先 页面引入UEditor 下载地址 http ueditor baidu com website 页面引入很简单 这里加两个div的原因 是因为在使用中碰到了一个问题 UEditor把我外层的div样式过滤掉了 UEditor会把引入的
  • Android系统编译模块化

    mm指从当前目录开始编译 mmm是从指定目录下搜寻Android mk编译 模块编译完成后 回到source code所在根目录运行make snod进行打包 repo init u https aosp tuna tsinghua edu
  • mysql添加字段

    MySQL添加字段有两种方式 使用 ALTER TABLE 语句或使用 MySQL Workbench 工具 下面分别介绍这两种方法 使用 ALTER TABLE 语句添加字段 ALTER TABLE 语句可以用于修改表结构 包括添加 删除
  • Vue大屏可视化

    文章目录 前言 一 什么是可视化 二 参考资料 1 站酷 2 DataV组件库 3 DataV组件库示例Demo 三 项目实战 总结 前言 自己也使用Vue挺长时间了 之前一直做可视化相关的领域 但也不全是 考虑到如果有一些可视化模板示例可
  • 浅谈APT攻击

    如今高级持续性威胁 Advanced Persistent Threat APT 已成为人尽皆知的 时髦术语 越来越多的企业开始对其高度关注 政府部门也面临着遭受APT攻击的危险 在安全顾问的每一篇分析报告中都会提及它的 大名 众多企业机构
  • Atari 游戏训练 -- 2. 基于jupyter,图片处理 + state更新 + 经验回放数据初始化

    帧图片处理 openCV step1 图片灰度处理 图片灰度处理后 三通道 RGB gt gt 单通道 两种方式 常用的公式对三通道进行处理 ray R0 299 G0 587 B 0 114 openCV 直接灰度处理 img grey
  • sublime如何自动写出html头部,sublime text3快速生成html头部信息的方法

    sublime text3快速生成html头部信息的方法 发布时间 2020 12 28 09 05 51 来源 亿速云 阅读 107 作者 小新 这篇文章主要介绍sublime text3快速生成html头部信息的方法 文中介绍的非常详细
  • 《你不可不知的50个基因秘密》之同性恋取向

    查看原图 你不可不知的50个基因秘密 近来 公开出柜的明星越来越多 热聊的八卦新闻里也绝对不会缺少关于明星们的性取向问题 王力宏和李云迪的关系还是扑朔迷离 出于这样 那样的考虑 很多时候不是不想说 是不敢说 普通人亦是如此 那同性恋是一种病
  • 创客使用Fusion 360 - 草绘

    细节知识 Fusion 360 本文 您将学习基本的建模技巧 草图 草图是使参数模型参数化的原因 我们将研究工作平面及其设置 编辑和导入草图 了解驱动尺寸和从动尺寸之间的差异 并讨论约束 工作面板 工作平面是在其上绘制草图的网格化表面 下图
  • 在windows平台上使用Hyper-V搭建虚拟机集群环境

    在windows平台上使用Hyper V搭建虚拟机集群环境 开启windows服务 启动服务 下载镜像 创建虚拟机 安装linux系统 工具连接 多个虚拟机 总结 直接使用物理机的网卡 解决虚拟机网络慢的问题 开启windows服务 首先需
  • Java Optional使用指南

    提到NullPointerException 简称NPE 异常 相信每个Java开发人员都不陌生 从接触编程的第1天起 它就和我们如影随形 最近处理的线上bug中 有不少都是对象没判空导致的NullPointerException异常 1
  • Dictionary基本用法

    C 中字典Dictionary的用法 1 创建Dictionary Dictionary