当前位置:  开发笔记 > 编程语言 > 正文

更改C#字典中项目的基数

如何解决《更改C#字典中项目的基数》经验,为你挑选了2个好方法。

我有一本字典,就像

Dictionary fooDict

我逐步完成字典中的所有内容,例如

foreach (Foo foo in fooDict.Keys)
    MessageBox.show(fooDict[foo]);

它按照foos添加到字典的顺序执行此操作,因此添加的第一个项目是返回的第一个foo.

如何更改基数,例如,添加的第三个foo将返回第二个foo?换句话说,我想改变它的"索引".



1> CodeRedick..:

如果您阅读MSDN上的文档,您会看到:

"返回项目的顺序是不确定的."

您无法保证订单,因为字典不是列表或数组.它意味着通过键查找值,任何迭代值的能力只是一种便利,但顺序不是你应该依赖的行为.



2> Eric Schoono..:

您可能对命名空间中的OrderedDicationary类感兴趣System.Collections.Specialized.

如果你看一下最底层的评论,MSFT的某个人发布了这个有趣的说明:

这种类型实际上是错误的; 它不是一个"有序"字典,而是一个"索引"字典.虽然,今天没有这种类型的等效通用版本,如果我们将来添加一个,我们可能会命名为'IndexedDictionary'类型.

我认为从这个类派生并制作OrderedDictionary的通用版本是微不足道的.

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有