c# 学习笔记 - 集合(Dictionary)

文章目录

    • 1.概论
      • [1.1 Dictionary 特性](#1.1 Dictionary 特性)
      • [1.2 .NET API](#1.2 .NET API)
    • [2. 基本使用](#2. 基本使用)
      • [2.1 样例](#2.1 样例)
    • [3. 添加类操作](#3. 添加类操作)
      • [3.1 Add、TryAdd](#3.1 Add、TryAdd)
    • [4. 修改类操作](#4. 修改类操作)
      • [4.1 Remove、Clear](#4.1 Remove、Clear)

1.概论

1.1 Dictionary 特性

  • 1. 键值对容器,底层使用哈希表实现.
  • 2. 键唯一,不可以重复添加.

1.2 .NET API

**  API介绍**
Dictionary<TKey,TValue> 类

2. 基本使用

2.1 样例

csharp 复制代码
static void Main() {
    Dictionary<int, string> dic = new Dictionary<int, string>();

    dic.Add(1, "AA"); // 新增
    dic.Add(2, "BB");
    foreach(var item in dic) Console.WriteLine(item.Key + " " + item.Value);
    Console.WriteLine("=======================================");

    dic[1] = "CC"; // 修改 dic[key] = value; 
    foreach(var item in dic) Console.WriteLine(item.Key + " " + item.Value);
    Console.WriteLine("=======================================");


    dic.Remove(1); // 删除
    foreach(var item in dic) Console.WriteLine(item.Key + " " + item.Value);
    Console.WriteLine("=======================================");
}
/*
1 AA
2 BB
=======================================
1 CC
2 BB
=======================================
2 BB
=======================================
*/

3. 添加类操作

3.1 Add、TryAdd

  • Add -- 添加指定键值对
  • TryAdd -- 尝试添加指定键值对
csharp 复制代码
static void Main() {
    Dictionary<int, string> dic = new Dictionary<int, string>();

    dic.Add(1, "AA");
    dic.Add(2, "BB");
    Console.WriteLine(dic.TryAdd(2, "B2"));
    Console.WriteLine(dic.TryAdd(3, "CC"));
    foreach(var item in dic) {
        Console.WriteLine(item.Key + " " + item.Value);
    }
}

/*
False
True
1 AA
2 BB
3 CC
*/

4. 修改类操作

4.1 Remove、Clear

  • Remove -- 清除指定键值对
  • Clear-- 删除所有键值对
csharp 复制代码
static void Main() {
    Dictionary<int, string> dic = new Dictionary<int, string>();

    dic.Add(1, "AA");
    dic.Add(2, "BB");
    dic.Add(3, "CC");
    dic.Remove(2); // Remove(key)
    foreach(KeyValuePair<int, string> item in dic) {
        Console.WriteLine(item.Key + " " + item.Value);
    }

    dic.Clear();
    foreach(KeyValuePair<int, string> item in dic) {
        Console.WriteLine(item.Key + " " + item.Value);
    }
}

/*
1 AA
3 CC
*/
相关推荐
上海安当技术18 分钟前
C/S 桌面软件怎么接 UKey 强认证?C# SDK 与 C 动态库集成 WinForms/Qt/工控实战
c语言·qt·c#
Hotchip_MEMS41 分钟前
当雾化器遇上MEMS:一场从交互到制造的全链路效率提升
人工智能·笔记·物联网·电脑·制造
是上好佳佳佳呀1 小时前
【深度学习|Day02】PyTorch 深度学习笔记(下):张量运算与自动微分
pytorch·笔记·深度学习
明如正午2 小时前
【C#】跨线程更新进度条_UpdateProgress 方法解析
c#
IT古董2 小时前
【MES学习笔记系列】05 - MES 数据库设计
笔记·学习·mes
不瘦80斤不改名3 小时前
05-vibe-coding-向agentic-engineering演进
人工智能·笔记·python·prompt
曹牧3 小时前
C#:`JsonConvert.DeserializeObject`
windows·c#
九硕智慧建筑一体化厂家4 小时前
直流照明|无尘风淋室照明,高均匀无频闪,适配洁净车间高频合规工况
大数据·人工智能·笔记·智慧城市
LATASA4 小时前
【 从0到1构建 Agent Harness学习笔记】
网络·笔记·学习
冷咖啡离 我的笨笨4 小时前
数据去重:通过 C# 删除 Excel 中的重复行
开发语言·c#·excel