C#中的 Dictionary常用操作

2025-03-07 05:50

本文主要是介绍C#中的 Dictionary常用操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《C#中的Dictionary常用操作》C#中的DictionaryTKey,TValue是用于存储键值对集合的泛型类,允许通过键快速检索值,并且具有唯一键、动态大小和无序集合的特性,常用操作包括添...

基本概念

Dictionary<TKey, TValue>C#中用于存储键值对集合的泛型类,属于System.Collections.Generic命名空间。它允许使用键(Key)来访问与其关联的值(Value)。其中,TKey表示字典中键的类型,TValue表示字典中值的类型。

Dictionary的基本结构

  • 键(Key):唯一标识集合中的一个元素。键是唯一的,不能有重复。
  • 值(Value):与键相关联的数据。值可以是任意类China编程型,并且可以有重复。
  • 键值对(KeyValuePair):键和值的组合,表示Dictionary中的一个元素。

Dictionary的主要特性

  • 快速访问:通过键可以快速检索到对应的值,平均时间复杂度接近O(1),因为Dictionary<TKey,TValue>类是作为哈希表实现。
  • 唯一键(Key):每个键在Dictionary中都是唯一的,不能重复。
  • 动态大小:Dictionary的大小可以动态调整,当元素数量超过容量时,它会自动扩容。
  • 无序集合:Dictionary中的元素是无序的,不能通过索引来访问它们。

Dictionary的常用操作

以下是C#中Dictionary的常用操作完整代码,其中包括添加元素、访问元素、修改元素、删除元素、检查键或值是否存在,以及遍历元素:

public static void DictionaryOperation()
{
    //创建一个Dictionary来存储学生学号ID和姓名
    Dictionary<int, string> studentDic = new Dictionary<int, string>();
    #region 添加元素
    // Add方法(键必须唯一)
    studentDic.Add(1, "大姚");
    studentDic.Add(2, "小袁");
    studentDic.Add(3, "Edwin");
    // 索引器语法(键不存在时添加,存在时更新)
    studentDic[4] = "Charlie";
    studentDic[5] = "追逐时光者";
    // 安全添加(避免异常)
    bool isAdded = studentDic.TryAdd(6, "小明"); // 返回 false,因键已存在
    #endregion
    #region 访问元素
    // 直接访问(键必须存在,否则会有异常)
    var currentUserName = studentDic[1XIsyvi];
    Console.WriteLine($"当前学生姓名: {currentUserName}");
    // 安全www.chinasem.cn访问(避免异常)
    if (studentDic.TryGetValue(5, outvar getUserName))
    {
        Console.WriteLine($"UserName:{getUserName}");
    }
    else
    {
        Console.WriteLine("当前学生China编程ID不存在");
    }
    #endregion
    #region
    // 修改元素
    studentDic[2] = "大西瓜";
    Console.WriteLine($"修改后的名称:{studentDic[2]}");
    #endregion
    #region 删除元素
    // 删除元素
    bool isRemoved = studentDic.Remove(3);
    Console.WriteLine($"删除结果:{isRemoved}");
    #endregion
    #region 检查键或值是否存在
    // 检查键是否存在
    if (studentDic.ContainsKey(1))
    {
        Console.WriteLine("存在");
    }
    else
    {
        Console.WriteLine("不存在");
    }
    bool isExistcontainsValue = studentDic.ContainsValue("追逐时光者");
    Console.WriteLine($"是否存在:{isExistconthttp://www.chinasem.cnainsValue}");
    #endregion
    #region 遍历元素
    // 遍历元素
    foreach (KeyValuePair<int, string> student in studentDic)
    {
        Console.WriteLine($"ID: {student.Key}, Name: {student.Value}");
    }
    // 使用键的枚举器
    foreach (var key in studentDic.Keys)
    {
        Console.WriteLine($"Key: {key}, Value: {studentDic[key]}");
    }
    // 使用值的枚举器
    foreach (varvaluein studentDic.Values)
    {
        // 注意:这种方式不能直接获取键,只能获取值
        Console.WriteLine($"Value: {value}");
    }
    #endregion
}

参考文章

  • https://learn.microsoft.com/zh-cn/dotnet/api/system.collections.generic.dictionary-2?view=net-9.0

到此这篇关于C#中的 Dictionary常用操作的文章就介绍到这了,更多相关C# Dictionary内容请搜索编程China编程(www.chinasem.cn)以前的文章或继续浏览下面的相关文章希望大家以后多多支持China编程(www.chinasem.cn)!

这篇关于C#中的 Dictionary常用操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1153665

相关文章

Java操作Word文档的全面指南

《Java操作Word文档的全面指南》在Java开发中,操作Word文档是常见的业务需求,广泛应用于合同生成、报表输出、通知发布、法律文书生成、病历模板填写等场景,本文将全面介绍Java操作Word文... 目录简介段落页头与页脚页码表格图片批注文本框目录图表简介Word编程最重要的类是org.apach

C#读写文本文件的多种方式详解

《C#读写文本文件的多种方式详解》这篇文章主要为大家详细介绍了C#中各种常用的文件读写方式,包括文本文件,二进制文件、CSV文件、JSON文件等,有需要的小伙伴可以参考一下... 目录一、文本文件读写1. 使用 File 类的静态方法2. 使用 StreamReader 和 StreamWriter二、二进

Spring Boot中WebSocket常用使用方法详解

《SpringBoot中WebSocket常用使用方法详解》本文从WebSocket的基础概念出发,详细介绍了SpringBoot集成WebSocket的步骤,并重点讲解了常用的使用方法,包括简单消... 目录一、WebSocket基础概念1.1 什么是WebSocket1.2 WebSocket与HTTP

C#中Guid类使用小结

《C#中Guid类使用小结》本文主要介绍了C#中Guid类用于生成和操作128位的唯一标识符,用于数据库主键及分布式系统,支持通过NewGuid、Parse等方法生成,感兴趣的可以了解一下... 目录前言一、什么是 Guid二、生成 Guid1. 使用 Guid.NewGuid() 方法2. 从字符串创建

golang中reflect包的常用方法

《golang中reflect包的常用方法》Go反射reflect包提供类型和值方法,用于获取类型信息、访问字段、调用方法等,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值... 目录reflect包方法总结类型 (Type) 方法值 (Value) 方法reflect包方法总结

C# 比较两个list 之间元素差异的常用方法

《C#比较两个list之间元素差异的常用方法》:本文主要介绍C#比较两个list之间元素差异,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 使用Except方法2. 使用Except的逆操作3. 使用LINQ的Join,GroupJoin

Python实现对阿里云OSS对象存储的操作详解

《Python实现对阿里云OSS对象存储的操作详解》这篇文章主要为大家详细介绍了Python实现对阿里云OSS对象存储的操作相关知识,包括连接,上传,下载,列举等功能,感兴趣的小伙伴可以了解下... 目录一、直接使用代码二、详细使用1. 环境准备2. 初始化配置3. bucket配置创建4. 文件上传到os

mysql表操作与查询功能详解

《mysql表操作与查询功能详解》本文系统讲解MySQL表操作与查询,涵盖创建、修改、复制表语法,基本查询结构及WHERE、GROUPBY等子句,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随... 目录01.表的操作1.1表操作概览1.2创建表1.3修改表1.4复制表02.基本查询操作2.1 SE

python常用的正则表达式及作用

《python常用的正则表达式及作用》正则表达式是处理字符串的强大工具,Python通过re模块提供正则表达式支持,本文给大家介绍python常用的正则表达式及作用详解,感兴趣的朋友跟随小编一起看看吧... 目录python常用正则表达式及作用基本匹配模式常用正则表达式示例常用量词边界匹配分组和捕获常用re

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方