当前位置: 首页 > news >正文

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

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.jsqmd.com/news/41967/

相关文章:

  • Java 垃圾收集机制
  • Metasploit Framework 6.4.99 (macOS, Linux, Windows) - 开源渗透测试框架
  • 小程序获取OCR识别结果,示例代码
  • 20232405 2024-2025-1 《网络与系统攻防技术》实验五实验报告
  • Invicti v25.11 发布,新增功能简介
  • Acunetix v25.11 发布,新增功能简介
  • 【运维自动化-标准运维】变量的高级用法
  • MySQL数据过滤与计算字段实战技术指南
  • 2025-11-14 PQ v.Next日志记录
  • 详细介绍:K8s 安全机制全解析
  • 详细介绍:MySQL索引指南
  • 实用指南:【第五章:计算机视觉-项目实战之推荐/广告系统】1.推荐系统基础与召回算法-(6)召回算法之u2i: FM、deepFM、召回双塔原理精讲与实战
  • 微前端架构演进:决策、实践与协同
  • OI 技术动作 注意事项集合
  • Java 设计模式—— 责任链模式:从原理到 SpringBoot 最优搭建
  • 大模型基础补全计划(七)---Transformer(多头注意力、自注意力、位置编码)及实例与测试
  • 京东商品详情接口终极突破:从多接口联动解析到数据全息重构
  • 实用指南:On-Page SEO完全指南:从关键词策略到内容优化
  • 2025年品质卓越的羊毛地毯品牌综合推荐与选购指南
  • dfad
  • 2025年品质卓越的羊毛地毯工厂综合推荐与选择指南
  • 20232415 2025-2026-1 《网络与系统攻防技术》 实验五实验报告
  • CSP2025反思——于诗涵
  • 接雨水算法全解析:从错误到3种最优解法(含扩展与思路Trigger)
  • 详细介绍:Android APK签名机制的工作原理、结构差异、安全局限与优势
  • Java位运算符概览
  • C#性能优化基础:高CPU使用率(trace)
  • 详细介绍:Linux Bash(一)
  • 做一个简单的贪吃蛇游戏
  • pytest测试range内置函数