C# —— 字典

简介

字典: 包含一个key(键)和这个key所对应的value(值),字典是无序的,key是唯一的,可以根据key获取值。可以吧键当成数组的索引值进行理解

<> 泛型
定义一个字典 new Dictionary<key的类型, value值的类型>()

var dic = new Dictionary<string, string>();
dic.Add("name", "刘总");// add() 方法添加键值对 键为name值为 值为刘总
dic.Add("age", "20");// 添加一个元素 键为age 值为20

遍历字典

            keys 获取字典当中所有的key
            dic keys.ToArray() 把所有的key转成数组的结果

Console.WriteLine(string.Join(",",dic.Keys.ToArray()));

dic.Values.ToArray() 把所有的值转成数组

Console.WriteLine(string.Join(",",dic.Values.ToArray()));

移除字典

 dic.Remove("name");//移除制定key的方法
            是否包含 key 如果包含了返回true

Console.WriteLine(dic.ContainsKey("name")); 

把所有的key转成数组再进行遍历

for(int i=0; i < dic.Keys.ToArray().Length;i++)
{Console.WriteLine(dic.Keys.ToArray()[i]);
}

获取字典值

Console.WriteLine(dic["name"]);

使用字典实现统计元素出现次数以及最大次数

key 是出现元素 如果6
value 存放出现的次数 4次

ArrayList aa = new ArrayList() { 1, 1, 1, 2, 2, 3,456, 66, 6, 6, 6, 6, };
var dic1 = new Dictionary<int, int>();//定义一个字典 ,向字典里添加元素和次数

 遍历数组 v就是数组的每一个元素

foreach (int v in aa)
{if (dic1.ContainsKey(v)) // 先判断字典里存在不存在当前key 字典里面已经存在相同的key 值加1{dic1[v] += 1;}else // 字典不存在key key存在字典中并且次数为1 给字典添加键值对 键时v值为1{dic1.Add(v, 1);}
}
Console.WriteLine(string.Join(",",dic1.Values.ToArray()));
Console.WriteLine(string.Join(",",dic1.Keys.ToArray()));
int maxV = dic1.Keys.ToArray()[0]; // 初始默认出现元素为数组的索引值为0
int maxCount = dic1.Values.ToArray()[0];//初始化最大次数为values当中第一个for (int i = 0; i < dic1.Values.Count; i++)
{// dic1.Values.ToArray()转成数组// [i]数组当中的元素 出现的次数if (maxCount <= dic1.Values.ToArray()[i]){maxCount = dic1.Values.ToArray()[i];maxV = dic1.Keys.ToArray()[i];}
}
Console.WriteLine(maxV+"出现了,出现了最大次数为:"+maxCount);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/29605.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flume基础教程

Apache Flume教程 资料来源&#xff1a;Apache Flume - Introduction (tutorialspoint.com) Flume是一个标准的、简单的、健壮的、灵活的、可扩展的工具&#xff0c;用于将从各种数据生产者(web服务器)中所产生的数据抽取到Hadoop中。在本教程中&#xff0c;我们将使用简单的…

软件测试技术(一):软件测试流程

软件测试流程 软件测试流程如下&#xff1a; 测试计划测试设计测试执行 单元测试集成测试确认测试系统测试验收测试回归测试验证活动 测试计划 测试计划由测试负责人来编写&#xff0c;用于确定各个测试阶段的目标和策略。这个过程将输出测试计划&#xff0c;明确要完成的测…

ch552g使用torch-pad测试触摸按键遇到的问题

基本工作原理 通过设置好功能在寄存器和控制寄存器检测引脚输入的值。 实际检测阶段分为3个步骤&#xff1a;第一阶段&#xff1a;选择需要检测的阶段&#xff0c;选择扫描周期1或2ms&#xff0c;开启触摸按键中断&#xff0c;然后在87us内为充电准备阶段&#xff0c;87us内数…

Matplotlib(小案例)

1、3D表面形状的绘制 from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt import numpy as np import matplotlib as mplfigplt.figure() axfig.add_subplot(111,projection3d)unp.linspace(0,2*np.pi,100) vnp.linspace(0,np.pi,100) x10*np.outer(n…

Faiss assertion ‘err == cudaSuccess‘ failed in void faiss::gpu:runL2Norm()

Faiss assertion ‘err cudaSuccess’ failed in void faiss::gpu:runL2Norm(). details:CUA error 209 no kernel image is available for execution on the device 本人使用的ubuntu 22.04系统&#xff0c;conda的环境。使用pip安装faiss-gpu出现的问题。 pip install fai…

心跳机制讲解及实例

什么是心跳机制 心跳机制出现在tcp长连接中&#xff0c;客户端和服务器之见定时发送一种特殊的数据包通知对方还在线&#xff0c;以确保tcp链接地可靠性&#xff0c;有可能tcp链接由于某些原因(列入网线被拔了&#xff0c;突然断电)导致客户端断了&#xff0c;但是服务器不知道…

从11个视角看全球Rust程序员3/4:深度解读JetBrains最新报告

讲动人的故事,写懂人的代码 6 Rust程序员都在用什么IDE? 基于之前的讨论,小吾想今年底的IntelliJ全球程序员生态报告出来后,IDE使用的情况可能会发生一些变化。小吾预计会有更多的程序员从IntelliJ IDEA和CLion转向RustRover。 55%的程序员在使用Visual Studio Code24%的程…

编程猫少儿编程怎么下载:详细步骤与实用指南

编程猫少儿编程怎么下载&#xff1a;详细步骤与实用指南 在数字化教育浪潮的推动下&#xff0c;编程猫少儿编程作为一款专为青少年设计的图形化编程工具平台&#xff0c;受到了越来越多家长和孩子的青睐。那么&#xff0c;如何下载并安装这款应用呢&#xff1f;接下来&#xf…

PostgreSQL源码分析——bgwriter

为什么会有bgwriter bgwriter进程主要负责将共享缓冲区&#xff08;Buffer&#xff09;中的脏页刷盘&#xff0c;这个进程主要是从数据库性能的考虑而加的&#xff0c;如果没有这个进程&#xff0c;数据库一样可以工作。所以&#xff0c;这里重点理解的就是bgwriter进程对性能…

SQL注入-中篇

SQL盲注 一、时间盲注 模拟环境&#xff1a;Less-9 概述 延迟注入&#xff0c;一种盲注的手法&#xff0c;提交对执行时间敏感的sql语句&#xff0c;通过执行时间的长短来判断是否执行成功。 时间注入函数 sleep() if() ascii() substring() length() mid()判断是否存在延…

存储文件夹下所有.cpp和.h的代码到对应的txt文件里

最近大半年刷了160多天的题&#xff0c;每次刷的时候都要新建一个VS文件&#xff0c;所以文件内存太大了&#xff0c;又舍不得删&#xff0c;就用ai整了一个脚本&#xff0c;可将当前路径下的所有文件里的.cpp和.h文件储存到相应名字的txt文件里&#xff0c;若文件夹下还有文件…

SpringBoot + Maven 项目的创建

文章目录 1、Maven2、SpringBoot3、二者之间的联系4、项目的创建 在创建项目之前&#xff0c;肯定要知道他们之间的区别 1、Maven maven是一个跨平台的项目管理工具。它是Apache的一个开源项目&#xff0c;主要服务于基于Java平台的项目构建、依赖管理和项目信息管理。 比如说…

Spring注解----------@Deprecated

情景&#xff1a; 在我们开发过程中&#xff0c;有时候会遇到我们需要将几个类中的方法集中到一个类中&#xff0c;但是我们又不希望把我们的原来的类删掉&#xff08;就是单纯的不想删除&#xff0c;都是我写的代码我不想杀死我的结晶&#xff0c;不能说我写的是shi&#xff…

为什么要选择华为 HCIE-Security 课程?

2020 年我国网络安全市场规模达到 680 亿元&#xff0c;同比增长 25%。随着对网络安全的愈加重视及布局&#xff0c;市场规模将持续扩大。 近年来&#xff0c;随着“云大物工移智”等新兴技术的快速发展和普及应用&#xff0c;数字化已经融入社会经济生活的方方面面&#xff0c…

自我激励学习提升语言模型的推理能力

随着人工智能技术的快速发展&#xff0c;语言模型&#xff08;LMs&#xff09;在各种下游任务中展现出了卓越的能力。特别是在少样本&#xff08;few-shot&#xff09;和零样本&#xff08;zero-shot&#xff09;学习环境中&#xff0c;通过吸收特定任务的指令和示例&#xff0…

Makefile 编译文件中的c文件,输出可执行文件main

Makefile文件 CC aarch64-linux-gnu-gcc CFLAGS SRCS $(wildcard *.c) OBJS $(SRCS:.c.o) TARGET mainall: $(TARGET)$(TARGET): $(OBJS)$(CC) $(CFLAGS) -o $ $^%.o: %.c$(CC) $(CFLAGS) -c $< -o $clean:rm -f $(OBJS) $(TARGET)执行make之后输出&#xff1a; to…

CLIP: Learning Transferable Visual Models From Natural Language Supervision

1、引言 论文链接&#xff1a;ReadPaper 现在最先进的计算机视觉系统都是训练模型来预测一组固定的、预定义好的目标类别&#xff08;如 ImageNet 的 1000 类和 COCO 的 80 类&#xff09;。这种受限制的监督形式限制了它们的通用性和可用性&#xff0c;因为需要额外的标记数据…

深入探索 MongoDB GridFS:高效大文件存储与管理的全面指南

GridFS 是 MongoDB 的一个规范&#xff0c;用于存储和检索超过 BSON 文档大小限制&#xff08;16MB&#xff09;的文件。与传统的文件系统不同&#xff0c;GridFS 可以将一个大文件分割成多个小块&#xff0c;并存储在 MongoDB 的两个集合中&#xff1a;fs.files 和 fs.chunks。…

光纤通信基础(光纤的构造、工作原理、色散、工作频段、损耗、分类、不同标准及应用、接口类型、常见标示方法、熔接)

文章目录 光纤的构造&#xff1a;纤芯、包层、涂覆层光纤的工作原理&#xff1a;利用全反射来传输光信号光纤的色散光纤的工作频段光纤的损耗光纤的分类光纤的不同标准及应用光纤的接口类型&#xff08;SC、LC、ST、FC&#xff09;光纤的常见标示方法&#xff1a;如“FC/PC”&a…

项目准备和启动

1.什么是项目建议书&#xff1f; 2.项目建议书的内容 3.可行性分析方法 4.项目组织结构&#xff08;职能型 项目型 矩阵型&#xff09; 5.项目管理层决策层执行层之间的关系 6.软件项目的可行性分析包括哪几个方面&#xff1f;影响决策的关键因素又是什么&#xff1f; 软件项目…