【发布时间】:2023-04-03 00:50:01
【问题描述】:
我意识到您不能在 C# 中迭代字典并编辑底层字典,如下例所示:
Dictionary<Resource, double> totalCost = new Dictionary<Resource, double>();
// Populate the Dictionary in here - (not showing code).
foreach (Resource resource in totalCost.Keys)
{
totalCost[resource] = 5;
}
我认为解决此问题的一种方法是创建一个由字典的键支持的列表,如下所示:
Dictionary<Resource, double> totalCost = new Dictionary<Resource, double>();
// Populate the Dictionary in here - (not showing code).
foreach (Resource resource in new List(totalCost.Keys))
{
totalCost[resource] = 5;
}
因为我没有自己编辑密钥,所以有什么理由不应该这样做,或者选择它作为解决方案是不好的。 (我意识到如果我正在编辑这些键,这可能会导致很多问题。)
谢谢。
编辑: 修复了我的代码示例。对此感到抱歉。
【问题讨论】:
-
第一段代码不行吗?
-
你是对的。对此感到抱歉 - 修复它以显示我试图描述的问题。
标签: c# collections dictionary