C#字典学习笔记

news/2024/12/22 14:57:02/
using System;
using System.Collections.Generic;class Program
{private static Dictionary<string, string> myDictionary = new Dictionary<string, string>();//字典索引必须是唯一的,值可以不是static void Main(){// 向静态成员 myDictionary 添加元素myDictionary.Add("第一个", "奥特曼");//myDictionary["第2个"] = "value2";myDictionary.Add("第二个", "怪兽");// 打印字典的长度(元素数量)Console.WriteLine("这个字典的长度为 " + myDictionary.Count);// 打印 key1 对应的值Console.WriteLine("第一个对应的值为: " + myDictionary["第一个"]);Console.WriteLine("第二个对应的值为: " + myDictionary["第二个"]);// 打印 奥特曼 对应的键,需要遍历字典string valueToFind = "奥特曼";string keyOfValue = ""; // 初始化为空字符串foreach (var kvp in myDictionary){if (kvp.Value == valueToFind){keyOfValue = kvp.Key;break;}}// 打印 奥特曼的索引,在字典中索引实际上就是键Console.WriteLine("奥特曼对应的键为: " + keyOfValue);Console.WriteLine("*************************************************************");//移除第二个myDictionary.Remove("第二个");//修改奥特曼为升级版myDictionary.Add("第三个", "奥特3曼");myDictionary.Add("第四个", "奥特3曼");myDictionary["奥特曼"] = "奥特曼升级版";//移除所有奥特3曼string valueToFind2 = "奥特3曼";List<string> keysToRemove = new List<string>();foreach (var kvp in myDictionary){if (kvp.Value == valueToFind2){keysToRemove.Add(kvp.Key); // 将要删除的键添加到列表中}}// 反向循环列表,以避免在迭代过程中修改集合for (int i = keysToRemove.Count - 1; i >= 0; i--){myDictionary.Remove(keysToRemove[i]); // 移除键}//修改所有的奥特曼8为奥特曼8升级版myDictionary.Add("第8个", "奥特曼8");myDictionary.Add("第9个", "奥特曼8");myDictionary.Add("第10个", "奥特曼8");myDictionary.Add("第11个", "奥特曼8");string valueToFind3 = "奥特曼8";List<string> keysToXiugai = new List<string>();foreach (var kvp in myDictionary){if (kvp.Value == valueToFind3){keysToXiugai.Add(kvp.Key); // 将要删除的键添加到列表中}}for (int i = keysToXiugai.Count - 1; i >= 0; i--){myDictionary[keysToXiugai[i]] = "奥特曼8升级版";}//删库跑路(清除字典)
myDictionary.Clear();// 打印消息foreach (var kvp in myDictionary) {Console.WriteLine(kvp); //kvp.Key//访问键,kvp.Value访问值}Console.WriteLine("代码运行很成功");}
}


http://www.ppmy.cn/news/1404954.html

相关文章

图论做题笔记:dfs

Leetcode - 797&#xff1a;所有可能的路径 题目&#xff1a; 给你一个有 n 个节点的 有向无环图&#xff08;DAG&#xff09;&#xff0c;请你找出所有从节点 0 到节点 n-1 的路径并输出&#xff08;不要求按特定顺序&#xff09; graph[i] 是一个从节点 i 可以访问的所有节…

【系统架构设计师】- 知识点汇总(易错总结)

—————————————————————————————————— 一、函数依赖的推理规则&#xff1a; 1、自反律&#xff1a;若Y⊆X⊆U&#xff0c;则X→Y在R上成立。 2、增广律&#xff1a;若X→Y在R上成立&#xff0c;且Z⊆U&#xff0c;则XZ→YZ在R上也成立。 3、传…

接口自动化框架搭建(一):框架介绍

1&#xff0c;背景目的 最近在搭建接口自动化框架&#xff0c;打算写个专栏&#xff0c;方便自己查找和他人学习。有不正确的地方&#xff0c;欢迎指正。 2&#xff0c;技术框架 pythonpytestalllurejenkins多进程钉钉消息通知 3&#xff0c;版本 推荐方法&#xff1a;创建…

数据结构(初阶)第一节:数据结构概论

本篇文章是对数据结构概念的纯理论介绍&#xff0c;希望系统了解数据结构概念的友友可以看看&#xff0c;对概念要求不高的友友稍做了解后移步下一节&#xff1a; 数据结构&#xff08;初阶&#xff09;第二节&#xff1a;顺序表-CSDN博客 正文 目录 正文 1.数据结构的相关概…

Linux 安装 fail2ban

Linux 安装 fail2ban fail2ban是一款入侵防御软件&#xff0c;能够运行在大多数Linux服务器上&#xff0c;保护计算机服务器免受暴力破解的攻击。fail2ban启动后会通过检测系统行为日志识别暴力破解行为&#xff0c;对于在短时间内多次未能通过身份验证的请求&#xff0c;fail…

【华为OD机试】欢乐的周末(并查集和搜索算法—JavaPythonC++JS实现)

本文收录于专栏:算法之翼 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目二.解题思路三.题解代码Python题解代码JAVA题解代码C/C++题解代码JS题解代码四.代码讲解(Ja…

【算法集训】基础算法:前缀和 | 概念篇

前缀和就是对于顺序表&#xff08;数组、列表&#xff09;来说&#xff0c;计算前面某一段元素的和。 1、部分和 给定一个数组&#xff0c;求某一段子数组的和。 2、朴素做法 int partialSum(int *a, int l, int r) {int i;int s 0;for(i l; i < r; i) {s a[i];}retu…

java Web 辅助学习管理系统idea开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点 java Web 辅助学习管理系统是一套完善的信息管理系统&#xff0c;结合java 开发技术和bootstrap完成本系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 前段主要技术 bootstr…