c# - 在c#中找到具有相同值的字典中的最小键
问题描述
嗨,我想对我的 c# 字典进行排序,以在 c# 字典中找到具有相同值的最低键,我的字典值看起来像
[4, 29]
[7, 29]
[10, 32]
[1, 32]
[8, 32]
[9, 38]
[2, 38]
我想要这样的结果>
4 is the lowest key for the same value 29
1 is the lowest key for the same value 32
2 is the lowest key for the same value 38
我已经尝试过 foreach 循环,但它似乎非常困难和复杂是否有一些简单的方法可以在 c# 中做到这一点提前谢谢
解决方案
这是您的问题的解决方案:
d.GroupBy(kvp => kvp.Value)
.Select(grouping => $"{grouping.OrderBy(kvp => kvp.Key).First()} is the lowest key for the same value {grouping.Key}");
它使用 LINQ 按值对字典条目进行分组,然后在每个分组中找到最小的键。
推荐阅读
- python - 查找循环中的最大列表项,出现次数
- github - 部署到 dokku(repo 不存在)
- python - 如何将值附加到字典中的匹配键 - python
- solr - 使用 Solr 的多边形中心
- amazon-web-services - AWS Lambda 回调后继续执行
- html - 父类具有“文本对齐:中心”,但子类保持左对齐
- python - 如何从列表中的整数中删除重复数字
- javascript - 如何使用 jQuery 在一个文本框中创建开始日期和结束日期选择器,输出应类似于文本框中的 2019 年 12 月 23 日 - 2019 年 11 月 23 日
- node.js - 如何在另一个 ejs 文件中包含一个 ejs 文件?
- css - 使用 ::after 选择器的按钮悬停效果不可见