You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#求两个字典的交集并将键与双值存入列表

解决方案

要实现将两个Dictionary<string, int>的交集键、对应currentHashTags的值、对应historicalHashTags的值存入List<(string, int, int),可以通过以下代码完成:

var result = currentHashTags.Keys.Intersect(historicalHashTags.Keys)
    .Select(key => (key, currentHashTags[key], historicalHashTags[key]))
    .ToList();

代码说明

  • 获取交集键:通过Intersect方法筛选出同时存在于两个字典中的键;
  • 映射为值元组:用Select将每个交集键转换为包含三个元素的元组,分别对应键名、currentHashTags中的值、historicalHashTags中的值;
  • 转为列表:最后通过ToList()生成目标类型的列表。

示例验证

假设存在以下两个字典:

Dictionary<string, int> currentHashTags = new()
{
    ["#hashtag1"] = 100,
    ["#hashtag2"] = 77,
    ["#hashtag3"] = 150
};

Dictionary<string, int> historicalHashTags = new()
{
    ["#hashtag1"] = 144,
    ["#hashtag4"] = 66,
    ["#hashtag5"] = 150
};

执行代码后,result的内容为:

List<(string, int, int)> result = 
{
    ("#hashtag1", 100, 144)
};

注:由于Intersect的结果已经保证键同时存在于两个字典中,因此直接通过索引取值不会触发KeyNotFoundException,无需额外判断。

内容的提问来源于stack exchange,提问作者bob mason

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 12:00:58