首页 > 解决方案 > 如何将多个通用列表对象添加到 C# 字典中的键?

问题描述

我正在尝试将多个通用列表对象添加到字典中的同一个键中。如何添加多个通用列表对象,而不会出现无法将我的列表转换为对象的错误消息。另外,我不想将项目添加到一个列表中。我正在尝试将多个单独的列表分配给一个键,以便在我的 Web 应用程序中创建单独的表时可以访问它。

我是 c# 的新手,所以请帮助理解我应该做什么。我试图说myDict[id].Add(List<object>)但仍然收到无法添加列表的错误。

Dictionary<int, `List<Roll>> myDict = new Dictionary<int, List<Roll>>();
 if (myDict.ContainsKey(ID))
     {               
        myDict[ID].Add(_WorkRolls);
        myDict[ID].Add(_UsedRolls);

      }
      else
      {
        myDict.Add(ID, _OldRolls);
      }

我的错误不断回馈“CS1503 参数 1:无法从 'System.Collections.Generic.List' 转换为 'Roll'

更新:我决定只使用二维列表。谢谢!

标签: c#asp.net-ajax

解决方案


由于您要将列表添加到列表中,因此您需要使用AddRange(). Just plainAdd()用于仅插入单个项目。

Dictionary<int, List<Roll>> myDict = new Dictionary<int, List<Roll>>();

if (myDict.ContainsKey(ID))
{               
    myDict[ID].AddRange(_WorkRolls);
    myDict[ID].AddRange(_UsedRolls);
}
else
{
    myDict.Add(ID, _OldRolls);
}

推荐阅读