0

我创建了字典并在其中插入了 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"));

当我尝试获取 fieldtargets[Pláž - sever]时,包含的映射构造函数参数"nothing", "nothing", "Tenký lesík", "Vrak letadla"- 最后一个字段的值,第二个和第三个字段的值相同。你能帮我解决这个问题吗?我需要第一个字段来返回它的值,而不是第三个字段的值。

4

3 回答 3

5

你的问题一开始有点奇怪 - 但我怀疑你会发现你的Map类有静态字段而不是实例字段。这意味着您有一组与类型相关的字段,而不是与该类型的任何特定实例相关的字段......所以每次覆盖字段时,您都会丢失所有以前的数据。

虽然只是猜测...

于 2012-07-23T16:03:12.913 回答
0

你需要做的是:

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-23T16:06:05.647 回答
0

您没有在字典中添加任何项目,Key "Pláž - střed"因此您无法获得该项目,因为它根本不可用。

所以尝试使用"Pláž - střed"密钥添加一个项目,然后访问它。

于 2012-07-23T16:06:30.140 回答