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
*/
相关推荐
linwq87 分钟前
SIP协议、linphone学习(二)
学习
fie888919 分钟前
C# 文件分割与合并工具设计与实现
开发语言·c#
鱼鳞_24 分钟前
Java学习笔记_Day21
java·笔记·学习
EnglishJun30 分钟前
ARM嵌入式学习(十五)--- IMX6ULL的ADC接口使用
arm开发·学习
南境十里·墨染春水35 分钟前
C++ 笔记 仿函数(函数对象)
开发语言·c++·笔记
禹中一只鱼1 小时前
【力扣热题100学习笔记】 - 双指针
java·笔记·学习·leetcode·贪心算法
haiyangyiba1 小时前
学习Spring Ai的摸索实践
学习·spring ai
chase。1 小时前
【学习笔记】cuRoboV2——为高自由度机器人打造的动力学感知运动生成框架
笔记·学习·机器人
南境十里·墨染春水1 小时前
C++ 笔记 多重继承 菱形继承(面向对象)
开发语言·c++·笔记
泡泡鱼(敲代码中)2 小时前
C++-string学习笔记
c语言·开发语言·c++·笔记·学习·visualstudio