首页 > 编程语言 >C#—Dictionary字典类

C#—Dictionary字典类

时间:2024-08-22 23:52:00浏览次数:8  
标签:Console Dictionary C# dic dic1 Add WriteLine 字典

特点:

    必须包含名空间System.Collection.Generic
    Dictionary里面的每一个元素都是一个键值对(由二个元素组成:键和值)
    键必须是唯一的,而值不需要唯一的

    字典 长度是不固定的 随着元素增减 而改变
    键和值都可以是任何类型(比如:string, int, 自定义类型,等等)

         using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApp33
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //字典的对象
            Dictionary<string,int> dic = new Dictionary<string,int>();
            
 
 
 
            Dictionary<int,string>  dic1 = new Dictionary<int,string>();
            //添加元素
            dic1.Add(0, "a");
            dic1.Add(1, "b");
            dic1.Add(2, "c");
 
 
            dic.Add("1", 123);
            dic.Add("2", 333);
            dic.Add("abc", 333);
            dic.Add("3", 456);
            //查找
            Console.WriteLine(dic1[0]); 
            Console.WriteLine(dic["3"]);
            //修改
            dic1[2] ="d";
            dic["2"] = 444;
 
            for (int i = 0; i < dic1.Count; i++)
            {
 
                Console.WriteLine(dic1[i]);
 
            }
 
 
 
            //dic.Keys 集合
            foreach (string item in dic.Keys)
            {
                Console.WriteLine(dic[item]);
            }
 
 
            // dic.Values 集合
            foreach (int item in dic.Values)
            {
                Console.WriteLine(item);
            }
 
            //
            foreach (KeyValuePair<string,int> item in dic)
            {
                Console.WriteLine(item.Key);
                Console.WriteLine(item.Value);
            }
           移除元素
            bool isRmove =  dic.Remove("aaadsasdasd");
            if (isRmove)
            {
 
                Console.WriteLine("删除成功");
            }
            else {
                Console.WriteLine("删除失败");
 
            }
 
 
           // //判断字典中是否包含某个key
            bool isTrue =  dic.ContainsKey("2");
            if (isTrue)
            {
 
                dic.Remove("2");
            }
            else {
                dic.Add("2",11);
            
            }
         
           // //清空
            dic.Clear();
           // //字典中key/value的个数
            Console.WriteLine(dic.Count); 
            
         
            Console.ReadKey();
        }
    }
}

常用属性

    名称    说明
    Comparer     获取用于确定字典中的键是否相等的 IEqualityComparer<T>。
    Count        获取包含在 Dictionary<TKey, TValue> 中的键/值对的数目。
    Item         获取或设置与指定的键相关联的值。
    Keys         获取包含 Dictionary<TKey, TValue> 中的键的集合。
    Values       获取包含 Dictionary<TKey, TValue> 中的值的集合。

常用方法
    名称    说明
    Add                     将指定的键和值添加到字典中。
    Clear                    从 Dictionary<TKey, TValue> 中移除所有的键和值。
    ContainsKey         确定 Dictionary<TKey, TValue> 是否包含指定的键。
    ContainsValue       确定 Dictionary<TKey, TValue> 是否包含特定值。

    Remove              从 Dictionary<TKey, TValue> 中移除所指定的键的值。
    ToString            返回表示当前对象的字符串。 (继承自 Object。)

标签:Console,Dictionary,C#,dic,dic1,Add,WriteLine,字典
From: https://blog.csdn.net/2401_84642440/article/details/141370829

相关文章

  • Scratch编程环境的暗色模式:探索可访问性的边界
    标题:Scratch编程环境的暗色模式:探索可访问性的边界Scratch,这个广受欢迎的图形化编程平台,由麻省理工学院媒体实验室开发,一直致力于为用户提供友好且易于访问的编程体验。随着用户对编程环境个性化需求的增长,Scratch的编程环境是否支持暗模式或可访问性选项,成为了编程教育领......
  • Scratch的诞生:开启编程世界的大门
    标题:Scratch的诞生:开启编程世界的大门Scratch,这款全球数百万儿童和青少年的编程启蒙工具,自诞生之日起就以其独特的图形化编程界面和强大的社区支持,引领着编程教育的潮流。本文将详细探讨Scratch的起源,它如何从一个教育项目成长为全球性的编程学习平台,并提供一些基础的Scrat......
  • SciTech-BigDataAIML-LLM-PE(Positional Encoding)位置编码: Absolute(绝对)Position
    SciTech-BigDataAIML-LLMPE(PositionalEncoding)位置编码:1Absolute(绝对)Position2Relative(相对)Position3Rotate(旋转)Position......
  • C++ 链表
    1.前言链表:不仅存储 当前元素的数据,还存储着 元素排列顺序2. 正题2.1如何存储节点?我们可以使用结构体 数组来存储 链表节点structNode{intval;//可以是string或其它复杂的类型intnxt;}node[N];Tip:下标顺序不是单链表顺序 val代表 元......
  • c++一些面试题目
    摘自:https://www.cnblogs.com/lidabo/p/3284921.html1、Whatisachievedbyprefixingthe'static'keywordtoafile-levelfunctionorfile-levelvariabledeclaration? 使用static关键字修饰文件级的函数和变量起到什么作用? key:对变量来说,不允许文件外的程序访问;对......
  • C# WebSocket Fleck 源码解读
    最近在维护公司旧项目,偶然发现使用Fleck实现的WebSocket主动推送功能,(由于前端页面关闭时WebSocketServer中执行了多次OnClose事件回调并且打印了大量的关闭日志,),后来我特地看了源码,这里做一些分享github: https://github.com/statianzo/Fleck 在源码中,作者在Samples项目中......
  • C:每日一题:双指针法的使用
    前言:思虑再三,觉得如果有时间每日一题还是可以更新一下的。题目难度:基础解题方法:双指针法一、题目输入一个整数数组,实现一个函数来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。二、题目分析本题目标:将给定的整数数组中......
  • C++模板的细节改进
    emsp;emsp;C++11改进了编译器的解析规则,尽可能的将多个右尖括号(>)解析称模板参数结束符,方便我们编写模板相关的代码。1.模板的右尖括号emsp;emsp;在C++98/03的泛型编程中,模板实例化有一个很繁琐的地方,那就是连续两个右尖括号(>>)会被变异器解释称右移操作符,而不是模板参数表的结束......
  • Oracle dataguard 搭建 oracle 11g ADG
    文章目录一、系统环境检查二、参数调整三、搭建ADG1、主库操作1、主库开启归档模式,此步骤需要重启数据库--5主库打开forcelogging--6主库修改DG相关参数--7修改之后验证:--8、主库添加standbyredologfile(根据MAA最佳实践,我们建议只为备用重做日志组,每......
  • 实用工具:[TrafficMonitor]任务栏电脑性能监控安装指南
    实用工具:任务栏电脑性能监控安装指南[TrafficMonitor]效果图话不多说,直接上软件效果图:内容介绍支持监控的指标:上传下载CPU利用率内存利用率CPU温度总网速CPU频率显卡利用率显卡温度硬盘温度主板温度硬盘利用率一共支持12种性能监控指标,相当的丰富安装教程:下载我们......