c# - 通过数字索引访问 Dictionary.Keys 键

标签 c# .net dictionary

我正在使用 Dictionary<string, int> int在哪里是 key 的计数。

现在,我需要访问 Dictionary 中最后插入的 Key,但我不知道它的名称。明显的尝试:

int LastCount = mydict[mydict.keys[mydict.keys.Count]];

不起作用,因为 Dictionary.Keys没有实现 []-indexer。

我就想知道有没有类似的类?我考虑过使用堆栈,但它只存储一个字符串。我现在可以创建自己的结构,然后使用 Stack<MyStruct> ,但我想知道是否还有另一种选择,本质上是一个在键上实现 []-indexer 的字典?

最佳答案

正如@Falanwe 在评论中指出的那样,做这样的事情不正确:

int LastCount = mydict.Keys.ElementAt(mydict.Count -1);

不应该依赖字典中键的顺序。如果您需要订购,您应该使用 OrderedDictionary ,如本 answer 中所建议.此页面上的其他答案也很有趣。

关于c# - 通过数字索引访问 Dictionary.Keys 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4227/

相关文章:

c# - 获取当前 XmlReader 位置的 'path'

c# - RSAProvider.ImportParameters() => 某些特殊 rsa 私钥的错误数据

python - 根据特定键合并两个字典列表

python - Pandas - 从包含列表的字典中创建只有一行的数据框

c# - 奇怪的多线程索引越界问题

c# - 如何将Azure Mobile服务数据放入Asp.net(C#)中的 GridView 中?

c# - 是否可以从标量函数的结果为 Id 分配默认值

c# - 如何在表单中从form1调用事件?

c# - 在 C# Object Initializer Syntax 为什么我们不能在其中将一个属性分配给另一个

c# - Linq ToDictionary 不会将类隐式转换为接口(interface)