使用字典(Dictionary)习题

熟悉掌握值查找键并返回所有匹配的键

题目:有一个Dictionary<string, int>,其中键是学生姓名,值是学生成绩。要求编写一个方法,传入一个成绩值,返回所有成绩等于该值的学生姓名的列表。

cs 复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 合并两个字典
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Dictionary<string,int>dict1 = new Dictionary<string, int>()
            {
                {"这是1",1 },
                {"这是2",2 }
            };
            Dictionary<string, int> dict2 = new Dictionary<string, int>()
            {
                {"这是3",3 },
                {"这是5",5 }
            };
            Dictionary<string,int>merged= MergedDictinonary(dict1,dict2);
            foreach(KeyValuePair<string,int> pair in merged)
            {
                Console.WriteLine($"键{pair.Key},值{pair.Value}");
            }
        }
        static Dictionary<string, int> MergedDictinonary(Dictionary<string, int> dict1, Dictionary<string, int> dict2)
        {
            Dictionary<string,int>mergeDi = new Dictionary<string,int>(dict1);
            foreach(KeyValuePair<string,int> pair in dict2)
            {
                if (mergeDi.ContainsKey(pair.Key))
                {
                    mergeDi[pair.Key] += pair.Value;
                }
                else
                {
                    mergeDi.Add(pair.Key, pair.Value);
                }
            }
            return mergeDi;
        }
      
    }
}
相关推荐
yangzhi_emo3 分钟前
ES6笔记2
开发语言·前端·javascript
emplace_back1 小时前
C# 集合表达式和展开运算符 (..) 详解
开发语言·windows·c#
jz_ddk1 小时前
[学习] C语言数学库函数背后的故事:`double erf(double x)`
c语言·开发语言·学习
萧曵 丶1 小时前
Rust 所有权系统:深入浅出指南
开发语言·后端·rust
xiaolang_8616_wjl1 小时前
c++文字游戏_闯关打怪2.0(开源)
开发语言·c++·开源
收破烂的小熊猫~1 小时前
《Java修仙传:从凡胎到码帝》第四章:设计模式破万法
java·开发语言·设计模式
nananaij2 小时前
【Python进阶篇 面向对象程序设计(3) 继承】
开发语言·python·神经网络·pycharm
阿蒙Amon2 小时前
为什么 12 版仍封神?《C# 高级编程》:从.NET 5 到实战架构,进阶者绕不开的必修课
开发语言·c#
无小道2 小时前
c++-引用(包括完美转发,移动构造,万能引用)
c语言·开发语言·汇编·c++