c# - 如何将多个通用列表对象添加到 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'
更新:我决定只使用二维列表。谢谢!
解决方案
由于您要将列表添加到列表中,因此您需要使用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);
}
推荐阅读
- machine-learning - 使用回调在 Flux 中训练时记录损失
- java - 生成签名的 APK:构建 APK 时出错。你可以找到错误
- database - laravel 7中的数据库连接问题
- asp.net-mvc - 如何得到
标签助手工作? - php - 如何在标签和一些结束标签之间使用 XPath 提取文本
- javascript - 喜欢和不喜欢按钮节点JS mongodb
- google-apps-script - 在工作表更改事件上切换复选框值,并在打开时设置复选框值
- c# - 我可以使用 AutFac 工厂来创建我的 DbContext
- docker - 通过网络别名访问 Docker 内部的 Keycloak-Service
- python - Anaconda如何导入keras-rl