首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C#字典始终返回最后一个值

C#字典始终返回最后一个值
EN

Stack Overflow用户
提问于 2012-07-23 23:58:31
回答 3查看 208关注 0票数 0

我已经创建了字典,并在其中插入了3个字段:

代码语言:javascript
运行
复制
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],值对于第二个和第三个字段是相同的。你能帮我解决这个问题吗?我需要第一个字段来返回它的值,而不是第三个字段的值。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-24 00:03:13

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

不过只是个猜测..。

票数 5
EN

Stack Overflow用户

发布于 2012-07-24 00:06:06

您需要做的是:

代码语言:javascript
运行
复制
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类中的某些内容弄乱了,例如声明为静态的字段或其他类似性质的内容

票数 0
EN

Stack Overflow用户

发布于 2012-07-24 00:06:30

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

因此,尝试使用"Pláž - střed"键添加一个项目,然后访问它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11616136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档