使用字典(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;
        }
      
    }
}
相关推荐
清水白石0084 小时前
Python 编程实战全景:从基础语法到插件架构、异步性能与工程最佳实践
开发语言·python·架构
Halo_tjn6 小时前
Java 基于字符串相关知识点
java·开发语言·算法
梦想的颜色6 小时前
java 利用redis来限制用户频繁点击
java·开发语言
报错小能手6 小时前
Swift 并发 Combine响应式框架
开发语言·ios·swift
万法若空7 小时前
C++ <memory> 库全方位详解
开发语言·c++
代码中介商7 小时前
C++ 类型转换深度解析:static_cast、dynamic_cast、const_cast、reinterpret_cast
开发语言·c++
青小莫7 小时前
C++之string(OJ练习)
开发语言·c++·stl
freshman_y7 小时前
一篇介绍C语言中二级指针和二维数组的文章
c语言·开发语言
-Marks-7 小时前
【C++编程】STL简介 --- (是什么 | 版本发展历程 | 六大组件 | 重要性缺陷以及如何学习)
开发语言·c++·学习·stl·stl版本