C# 将两本词典合并为一本词典<;A、 字典<;B、 列表<;C>;

C# 将两本词典合并为一本词典<;A、 字典<;B、 列表<;C>;,c#,linq,dictionary,C#,Linq,Dictionary,假设我有两种字典: 字典 字典 我想把第二个合并到第一个。比如: DictionaryMerge使用什么标准?在任何情况下,问题都不清楚,这不是合并。这将创建一个新的构造。不知何故,某个地方一本词典的词条与另一本词典的词条相结合。您可以编写一个循环来实现这一点,在LINQ查询中使用两个from子句,或者在连接条件中使用join。“最佳”可能意味着更快、更易于编写、更易于阅读、分配更少,以上所有或以上任何一项都可以。如果不清楚,请道歉。两个字典都是使用相同的列表创建的。此外,2 dict是由2

假设我有两种字典:

  • 字典
  • 字典
我想把第二个合并到第一个。比如:
DictionaryMerge使用什么标准?在任何情况下,问题都不清楚,这不是合并。这将创建一个新的构造。不知何故,某个地方一本词典的词条与另一本词典的词条相结合。您可以编写一个循环来实现这一点,在LINQ查询中使用两个
from
子句,或者在连接条件中使用
join
。“最佳”可能意味着更快、更易于编写、更易于阅读、分配更少,以上所有或以上任何一项都可以。如果不清楚,请道歉。两个字典都是使用相同的列表创建的。此外,2 dict是由2个不同标准分组的某种不同元素。例如,Dictionary是使用类型C中的一个字段构建的(这个字段是B)Dictionary是在列表上的一些操作之后构建的(输出是类型a),最终的输出将不仅仅是一个粒度元素,而是两个粒度元素——这就是为什么我称之为merge,我确实可以尝试进行双循环。但我想知道是否有一种更简洁易懂的方式更新问题并解释所有这些。具体的例子将有助于更快地得到答案。现在您正在描述一些代码是如何工作的。而是发布代码本身<代码>某种类型的
和在之后构建的不会解释太多。如果您发布示例输入、预期输出和可能的代码,人们可以直接回答或找到解决方案。否则他们会花时间去猜测真正的问题是什么
public enum GameCategory
{
    FPS,
    RPG,
    STRATEGY
}

public class Game
{
    // The format is: "CountryName,CompanyName,TeamName,GameName"
    public string Name { get; set; } 
    public DateTime InitialReleaseDate { get; set; }
    public GameCategory Category { get; set; }
}
public class GameManager
{
    // CodeName is coming from Name once Substring applied.
    // This dictionary is just all the games grouped by this CodeName
    // eg if we have Game1 with name: "USA:Test:MyTeam:GoodGame" & Game2 with: "USA:Test:AnotherTeam:AnotherGame"
    // The codeName for both is: "USA:Test" so they are in the same list of dict1
    Dictionary<string, List<Game>> _gameByCodeName;

    // It is just a grouped by GameCategory
    Dictionary<GameCategory, List<Game>> _gameByCategory;

    // Expected output
    // The goal is just to have the two granularity in one data structure
    // In the above example it will be all the games that have the same CodeName and are in the same category     
    Dictionary<string, Dictionary<GameCategory, List<Game>>>
}