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
*/
相关推荐
LateFrames8 小时前
520 - 如何说晚安 (WPF)
c#·wpf·浪漫·ui体验
LuminousCPP9 小时前
数据结构 - 线性表第四篇:C 语言通讯录优化升级全记录(踩坑 + 思考)
c语言·开发语言·数据结构·经验分享·笔记·学习
魔法阵维护师9 小时前
从零开发游戏需要学习的c#模块,第十四章(保存和加载)
学习·游戏·c#
_李小白10 小时前
【android opencv学习笔记】Day 17: 目标追踪(MeanShift)
android·opencv·学习
一只机电自动化菜鸟10 小时前
一建机电备考笔记(40) 建筑机电施工—排水管道施工(含考频+题型)
经验分享·笔记·学习·职场和发展·课程设计
2301_8187305610 小时前
numpy的学习(笔记)
学习·numpy
你干嘛?哎哟11 小时前
4月工作笔记
笔记
tom021811 小时前
软考中级《嵌入式系统设计师》全套备考资料(真题 + 教材 + 笔记)
笔记·嵌入式·软考·自学·电子技术·电子资料·变成
GHL28427109011 小时前
Logon failed, use ctrl+c to cancel basic credential prompt
学习·prompt
共享家952711 小时前
Langchain的学习(二)
学习·langchain