【发布时间】:2012-09-04 11:04:26
【问题描述】:
我找到了OrderedDictionary,但它并没有达到我想要的效果。 OrderedDictionary 似乎呈现数据的字典或列表视图,但您不能很好地在它们之间进行交叉。
例如
OrderedDictionary mylist = new OrderedDictionary();
mylist.Add(1, "Hello");
mylist.Add(4, "World");
mylist.Add(7, "Foo");
mylist.Add(9, "Bar");
使用此代码,我可以直接访问mylist[7] 并获取"Foo",也可以按正确的顺序遍历内容,但我无法快速回答“列表中的Foo 后面是什么?”这个问题。
我想要的是这样的:
mylist.GetNode(7).Next.Value => "Bar"
.NET 和 C# 中是否有任何可用的东西可以执行此任务?
【问题讨论】:
-
注:
mylist[7]不会尝试返回OrderedDictionary中的第 7 项,而不是带有键7的条目? (OrderedDictinoary同时拥有object和int索引器:-/) -
@Rawling - 好点。这里的 int 是一个索引。为了争论,我们可以假设我将密钥包装在一个很好的可比较对象中。
标签: c# .net list dictionary hashtable