Dictionary 字典 核心知识点
2026/6/2 19:27:34 网站建设 项目流程

## 1. 概念类比
**带唯一标签的储物柜**
- `Key(键)`:柜子标签,**唯一、不能为 null**
- `Value(值)`:柜子里存放的数据
- 规则:**只能通过 Key 找 Value,无法反向查找**

## 2. 三大核心特性
1. 键 **Key 全局唯一**,重复添加同键会报错/覆盖旧值
2. 键 **不允许为 null**
3. 检索逻辑:按键取值,不支持按值定位键

## 3. 基础操作(增、查、改、判、删)
### 语法与代码示例
```csharp
using System;
using System.Collections.Generic;

class Program
{
static void Main()
{
// 定义:键string,值int
Dictionary<string, int> dic = new Dictionary<string, 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 四种遍历方式 核心知识点(对比+考点)
## 通用前提
以 `List<int> list = new List<int> { 2, 12, 5, 15 };` 为例

### 1. for 循环(下标遍历)
```csharp
for (int i = 0; i < list.Count; i++)
{
Console.WriteLine(list[i]);
}
```
- 核心用途:依靠索引访问元素
- 特点:可修改元素、灵活控制循环范围,支持倒序遍历
- 适用场景:需要操作下标、中途跳出循环
- 缺点:写法偏繁琐

### 2. foreach 遍历(基础通用)
```csharp
foreach (int n in list)
{
if (n > 10)
Console.WriteLine(n);
}
```
- 核心用途:基础遍历、简单条件判断
- 特点:语法简单,属于只读遍历,遍历过程中不能修改集合元素
- 适用场景:纯查看数据、简单筛选
- 缺点:需要手动编写 if 判断条件

### 3. Where + Lambda(条件筛选,返回新集合)位ou'r'po'i'e'j't'h'hi'ni'er'n'g'irieuog
```csharp
var res = list.Where(n => n > 10);
foreach (var item in res)
Console.WriteLine(item);
```
- 核心用途:根据条件筛选数据
- 特点:Where+Lambda 就是按条件批量挑数据,符合条件留下,不符合剔除,原数据不变,返回新集合。

- 适用场景:单纯筛选符合条件的数据
- 缺点:仅支持筛选,无法编写复杂业务逻辑

### 4. ForEach + Lambda(元素批量处理)
```csharp
list.ForEach(n => Console.WriteLine(n + 5));
```
- 核心用途:对所有元素执行统一操作
- 特点:逐个处理元素,不会返回新集合
- 适用场景:批量执行打印、运算、赋值等动作
- 缺点:不适合复杂筛选,也无法中断遍历

---

# 三、四种遍历文字总结
1. for 循环:主打操作下标,功能灵活,写法繁琐
2. foreach 遍历:通用基础遍历,兼容性最强
3. Where 搭配Lambda:专门用来做数据筛选
4. ForEach 搭配Lambda:适合对全部元素做批量处理

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询