【问题标题】:How to combine a dictionary and list by key如何按键组合字典和列表
【发布时间】:2018-05-11 04:27:11
【问题描述】:

我有一本像这样的字典:

Dictionary<String, String> dictionary = new Dictionary<string, string>{
  { "dog", "DOG" },
  { "cat", "CAT" },
  ...continued
};

我想从具有如下匹配值的列表中提取 Id 值:

List<Animal> records = new List<Animal>{
  { Id: "1", Name: "DOG" },
  { Id: "2", Name: "CAT" }
  ...continued
}

我需要输出一个如下所示的字典:

Dictionary<String, String> newDictionary = new Dictionary<string, string>
  { "dog": "1" },
  { "cat": "2 }
  ...continued
}

有没有简单的 LINQ 解决方案?

【问题讨论】:

  • 您没有使用字典。那是'var'。
  • 我现在用正确的类型编辑了它
  • 你尝试过做什么?

标签: c# json list linq dictionary


【解决方案1】:

您可以使用JOIN 从字典和列表中获取匹配记录,如下所示:

var query = from d in dictionary
        join r in records
        on d.Value equals r.Name
        select new { Id=r.Id, Name=d.Key };

var newDictionary = query.ToDictionary(d => d.Name, d => d.Id);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多