C# 高级类型 Dictionary(学习笔记4)

news/2025/11/16 16:51:43/文章来源:https://www.cnblogs.com/huiy/p/19224542

key-value方式,key不可以重复,value可以。

img

namespace WindowsFormsApp1
{public partial class Form1 : Form{public Form1(){InitializeComponent();}private static Dictionary<int, string> dictionary = new Dictionary<int, string>{// 添加{ 1, "张三" },{ 2, "李四" },{ 3, "李四" },{ 4, "李四" },{ 5, "李四" },{ 6, "李四" }};private static int DICT_KEY = dictionary.Count;private readonly string id = "id";private readonly string names = "names";/// <summary>/// 添加数据 /// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void BtnAddData_Click(object sender, EventArgs e){listView1.BeginUpdate();listView1.View = View.Details;listView1.Items.Clear();// 清除旧数据listView1.Columns.Clear(); //清除列listView1.Columns.Add(id, id, 100);listView1.Columns.Add(names, names, 100);foreach (var item in dictionary){listView1.Items.Add(item.Key.ToString()).SubItems.Add(item.Value);}listView1.EndUpdate();}/// <summary>/// 遍历KEY/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void BtnAllKeyes_Click(object sender, EventArgs e){listView1.BeginUpdate();listView1.View = View.Details;listView1.Items.Clear();// 清除旧数据listView1.Columns.Clear(); //清除列listView1.Columns.Add(id, id, 100);foreach (var item in dictionary){listView1.Items.Add(item.Key.ToString());}listView1.EndUpdate();}/// <summary>/// 遍历数据/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void BtnAllValues_Click(object sender, EventArgs e){listView1.BeginUpdate();listView1.View = View.Details;listView1.Items.Clear();// 清除旧数据listView1.Columns.Clear(); //清除列listView1.Columns.Add(names, names, 100);foreach (var item in dictionary){listView1.Items.Add(item.Value);}listView1.EndUpdate();}/// <summary>///  遍历字典/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void BtnAllDict_Click(object sender, EventArgs e){listView1.BeginUpdate();listView1.View = View.Details;listView1.Items.Clear();// 清除旧数据listView1.Columns.Clear(); //清除列listView1.Columns.Add(id, id, 100);listView1.Columns.Add(names, names, 100);foreach (var item in dictionary){listView1.Items.Add(item.Key.ToString()).SubItems.Add(item.Value);}listView1.EndUpdate();}/// <summary>/// 删除数据/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void BtnDelData_Click(object sender, EventArgs e){if (listView1.SelectedItems.Count > 0 && listView1.Columns.ContainsKey(id)){int intID = Convert.ToInt32(listView1.SelectedItems[0].Text);dictionary.Remove(intID);listView1.Items.RemoveAt(listView1.SelectedItems[0].Index);}}/// <summary>/// 插入数据/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void BtnInsertData_Click(object sender, EventArgs e){dictionary.Add(++DICT_KEY, "Test" + Convert.ToString(DICT_KEY));if (listView1.Columns.Count > 1){listView1.Items.Add(DICT_KEY.ToString()).SubItems.Add(dictionary[DICT_KEY]);}else if (listView1.Columns.ContainsKey(id)){listView1.Items.Add(DICT_KEY.ToString());}else if (listView1.Columns.ContainsKey(names)){listView1.Items.Add(dictionary[DICT_KEY]);}}/// <summary>/// 修改数据/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void btnEditData_Click(object sender, EventArgs e){if (listView1.SelectedItems.Count > 0 && listView1.Columns.ContainsKey(names) && listView1.Columns.Count > 1){listView1.SelectedItems[0].SubItems[1].Text = listView1.SelectedItems[0].SubItems[1].Text + "1";int key = Convert.ToInt32(listView1.SelectedItems[0].SubItems[0].Text);dictionary[key] = listView1.SelectedItems[0].SubItems[1].Text;}}}
}

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

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

相关文章

Java 垃圾收集机制

垃圾收集的基本概念 垃圾收集(Garbage Collection, GC) 是 JVM 自动管理内存的机制,负责回收不再使用的对象所占用的内存。 关键概念垃圾对象:不再被任何引用指向的对象GC Roots:始终可达的对象,作为引用链的起点…

Metasploit Framework 6.4.99 (macOS, Linux, Windows) - 开源渗透测试框架

Metasploit Framework 6.4.99 (macOS, Linux, Windows) - 开源渗透测试框架Metasploit Framework 6.4.99 (macOS, Linux, Windows) - 开源渗透测试框架 Rapid7 Penetration testing, updated November 15, 2025 请访问…

小程序获取OCR识别结果,示例代码

//获取OCR识别结果,示例代码--startwx.chooseMedia({count: 1,mediaType: [image],sourceType: [album, camera],maxDuration: 30,camera: back,success: (res) => {if(res.errMsg=="chooseMedia:ok"){l…

20232405 2024-2025-1 《网络与系统攻防技术》实验五实验报告

20232405 2024-2025-1 《网络与系统攻防技术》实验五实验报告1. 实验内容(1)对任意一个DNS域名进行查询并获取一些信息(2)查询任意社交媒体中好友的ip,并获取其所在地理位置(3)使用nmap对靶机环境进行扫描并获取…

Invicti v25.11 发布,新增功能简介

Invicti v25.11 发布,新增功能简介Invicti v25.11 发布,新增功能简介 Invicti v25.11.0 for Windows - Web 应用程序安全测试 Invicti (formerly Netsparker) | Web Application and API Security for Enterprise 请…

Acunetix v25.11 发布,新增功能简介

Acunetix v25.11 发布,新增功能简介Acunetix v25.11 发布,新增功能简介 Acunetix v25.11.0 (Linux, Windows) - Web 应用程序安全测试 Acunetix | Web Application Security Scanner 请访问原文链接:https://sysin.…

【运维自动化-标准运维】变量的高级用法

在全局变量使用篇里了解到了各类变量的基本用法,实际在很多场景下,需要对变量进行处理,这就是标准运维里变量的高级用法。只要处理变量符合python语法,在一行代码语句的长度内可以执行的代码,系统均是可以进行渲染…

MySQL数据过滤与计算字段实战技术指南

MySQL数据过滤与计算字段实战技术指南一、数据过滤进阶:多条件组合与高效筛选 在MySQL数据检索中,精准过滤数据是提升查询效率与结果有效性的核心环节。通过组合WHERE子句及专用操作符,可实现复杂业务场景下的数据筛…

2025-11-14 PQ v.Next日志记录

2025-11-14 PQ v.Next日志记录 在李剑老师的帮助下,PQ v1.1.9版本目前已上线,因此需要重新更新一下用户使用手册。 https://z.gitee.cn/zgca/projects/777586/repos/zgca/aipq/sources今日进度(4*4):基于最新版本…

详细介绍:K8s 安全机制全解析

详细介绍:K8s 安全机制全解析pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco"…

详细介绍:MySQL索引指南

详细介绍:MySQL索引指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", &q…

实用指南:【第五章:计算机视觉-项目实战之推荐/广告系统】1.推荐系统基础与召回算法-(6)召回算法之u2i: FM、deepFM、召回双塔原理精讲与实战

实用指南:【第五章:计算机视觉-项目实战之推荐/广告系统】1.推荐系统基础与召回算法-(6)召回算法之u2i: FM、deepFM、召回双塔原理精讲与实战2025-11-16 16:34 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-sp…

微前端架构演进:决策、实践与协同

第一部分:引入微前端的决策过程 1. 业务与团队背景: OMNIEYE平台并非一开始就采用微前端。它最初是一个单体Vue 2应用。随着业务飞速发展,我们面临了典型的“前端巨石应用”问题:团队协作瓶颈:多个功能团队(数据…

OI 技术动作 注意事项集合

OI 技术动作 & 注意事项集合 底板:NOIP 注意事项梳理 by Cindy_Li 2024.11 参考:OI 赛制比赛 emergency kit by Qingyu 感谢 @R_shuffle @fnoihzhyan 提供大量建设性意见。 本文可能不够详细,但写的都是笔者认为…

Java 设计模式—— 责任链模式:从原理到 SpringBoot 最优搭建

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

大模型基础补全计划(七)---Transformer(多头注意力、自注意力、位置编码)及实例与测试

大模型基础补全计划(七)---Transformer(多头注意力、自注意力、位置编码)及实例与测试PS:要转载请注明出处,本人版权所有。 PS: 这个只是基于《我自己》的理解, 如果和你的原则及想法相冲突,请谅解,勿喷。环境说明…

京东商品详情接口终极突破:从多接口联动解析到数据全息重构

京东商品详情接口长期以来以 “数据碎片化、签名动态化、反爬层叠化” 著称,常规采集方案往往因单一接口依赖导致数据缺失或请求封禁。本文跳出 “单接口模拟” 的固化思维,通过逆向商品详情页的完整数据链路,实现 …

实用指南:On-Page SEO完全指南:从关键词策略到内容优化

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年品质卓越的羊毛地毯品牌综合推荐与选购指南

摘要 随着家居品质需求的不断提升,2025年羊毛地毯行业迎来新一轮消费升级。现代消费者不仅关注产品美观度,更重视环保属性、工艺水准与文化内涵。据统计,中国高端手工地毯市场规模较去年增长23.6%,其中天然植物染色…