## 1. 概念类比**带唯一标签的储物柜**- Key(键)柜子标签**唯一、不能为 null**- Value(值)柜子里存放的数据- 规则**只能通过 Key 找 Value无法反向查找**## 2. 三大核心特性1. 键 **Key 全局唯一**重复添加同键会报错/覆盖旧值2. 键 **不允许为 null**3. 检索逻辑按键取值不支持按值定位键## 3. 基础操作增、查、改、判、删### 语法与代码示例csharpusing System;using System.Collections.Generic;class Program{static void Main(){// 定义键string值intDictionarystring, int dic new Dictionarystring, int();// 1. 添加数据dic.Add(苹果, 5);dic.Add(香蕉, 8);// 2. 按键取值Console.WriteLine(dic[苹果]);官方释义通过键索引器取值根据指定Key“苹果”匹配并取出对应的Value值最终打印输出。运行结果5通俗解释拿着“苹果”这个名字去台账里查到对应的数量打印出来。// 3. 修改数据同键直接赋值覆盖dic[香蕉] 10;// 4. 判断键是否存在常用避坑if (dic.ContainsKey(橘子)){Console.WriteLine(dic[橘子]);}官方释义字典专属检测方法用于判断集合中是否存在指定 Key返回布尔值 true / false。存在返回 true不存在返回 false常配合 if 判断安全取值避免键不存在引发程序异常。通俗解释先翻一遍台账看看有没有“橘子”这一条记录有才取值打印没有就跳过不执行防止程序报错崩溃。本段代码运行结果无输出字典内无“橘子”键判断不成立内部代码不执行// 5. 获取总数量Console.WriteLine(总个数 dic.Count);// 6. 删除按键删除dic.Remove(苹果);Console.ReadKey();}}- 取值注意**直接 dic[键] 若键不存在运行报错**优先用 ContainsKey 判断。---# 二、List 四种遍历方式 核心知识点对比考点## 通用前提以 Listint list new Listint { 2, 12, 5, 15 }; 为例### 1. for 循环下标遍历csharpfor (int i 0; i list.Count; i){Console.WriteLine(list[i]);}- 核心用途依靠索引访问元素- 特点可修改元素、灵活控制循环范围支持倒序遍历- 适用场景需要操作下标、中途跳出循环- 缺点写法偏繁琐### 2. foreach 遍历基础通用csharpforeach (int n in list){if (n 10)Console.WriteLine(n);}- 核心用途基础遍历、简单条件判断- 特点语法简单属于只读遍历遍历过程中不能修改集合元素- 适用场景纯查看数据、简单筛选- 缺点需要手动编写 if 判断条件### 3. Where Lambda条件筛选返回新集合位ourpoiejthhinierngirieuogcsharpvar res list.Where(n n 10);foreach (var item in res)Console.WriteLine(item);- 核心用途根据条件筛选数据- 特点WhereLambda 就是按条件批量挑数据符合条件留下不符合剔除原数据不变返回新集合。- 适用场景单纯筛选符合条件的数据- 缺点仅支持筛选无法编写复杂业务逻辑### 4. ForEach Lambda元素批量处理csharplist.ForEach(n Console.WriteLine(n 5));- 核心用途对所有元素执行统一操作- 特点逐个处理元素不会返回新集合- 适用场景批量执行打印、运算、赋值等动作- 缺点不适合复杂筛选也无法中断遍历---# 三、四种遍历文字总结1. for 循环主打操作下标功能灵活写法繁琐2. foreach 遍历通用基础遍历兼容性最强3. Where 搭配Lambda专门用来做数据筛选4. ForEach 搭配Lambda适合对全部元素做批量处理