我已经创建了字典,并在其中插入了3个字段:
Dictionary<string, Map> targets = new Dictionary<string, Map>();
targets.Add("Pláž - střed", new Map("Pláž - sever", "Vrak letadla", "Džungle", "Vrak letadla"));
targets.Add("Vrak letadla", new Map("Pláž střed", "nothing", "Roští", "nothing"));
targets.Add("Roští", new Map("nothing", "nothing", "Tenký lesík", "Vrak letadla"));当我尝试获取字段值时,映射构造器参数包含最后一个字段的"nothing", "nothing", "Tenký lesík", "Vrak letadla" - targets[Pláž - sever],值对于第二个和第三个字段是相同的。你能帮我解决这个问题吗?我需要第一个字段来返回它的值,而不是第三个字段的值。
发布于 2012-07-24 00:03:13
你的问题一开始就有点奇怪--但我想你会发现你的Map类有静态字段而不是实例字段。这意味着您有一组与该类型相关的字段,而不是该类型的任何特定实例……因此,每次覆盖这些字段时,都会丢失所有以前的数据。
不过只是个猜测..。
发布于 2012-07-24 00:06:06
您需要做的是:
var a1 = new Map("Pláž - sever", "Vrak letadla", "Džungle", "Vrak letadla"));
var a2 = new Map("Pláž střed", "nothing", "Roští", "nothing"));在调试器中运行此代码,并检查a1和a2的值。可能是Map类中的某些内容弄乱了,例如声明为静态的字段或其他类似性质的内容
发布于 2012-07-24 00:06:30
您没有使用Key "Pláž - střed"在字典中添加任何条目,因此无法获取该条目,因为它根本不可用。
因此,尝试使用"Pláž - střed"键添加一个项目,然后访问它。
https://stackoverflow.com/questions/11616136
复制相似问题