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
*/
相关推荐
老骥伏枥~6 分钟前
【C# 入门】变量、常量与命名规范
开发语言·c#
非凡ghost17 分钟前
ArchiveMaster(文件归档大师)
windows·学习·软件需求
wdfk_prog25 分钟前
[Linux]学习笔记系列 -- [drivers][clk]clk-bulk
linux·笔记·学习
charlie11451419129 分钟前
机器学习概论:一门教计算机如何“不确定地正确”的学问
人工智能·笔记·机器学习·工程实践
四谎真好看42 分钟前
JavaWeb学习笔记(Day10)
笔记·学习·学习笔记·javaweb
该学习了咕咕43 分钟前
单纯实验记录(寿命实验)
学习·学习方法·秀丽线虫·寿命实验
ooo-p1 小时前
FPGA学习篇——Verilog学习之“有限状态机FSM”
学习·fpga开发
A_nanda1 小时前
vue快速学习框架
前端·javascript·vue.js·学习·c#
WTCLLB1 小时前
取消文件隐藏属性,找到winre.wim和boot.sdi
windows·学习
其美杰布-富贵-李1 小时前
门控模型与Mixture of Experts (MOE) 学习笔记
笔记·学习·moe·门控神经网络