我正在考虑使用 OrderedDictionary。作为一个键,我想使用一个长值(id),该值将是一个自定义对象。
我使用 OrderedDictionary 是因为我想通过它的 Id 获取一个对象,并且我想通过它的“集合”索引获取一个对象。
我想像这样使用 OrderedDictionary:
public void AddObject(MyObject obj)
{
_dict.Add(obj.Id, obj); // dict is declared as OrderedDictionary _dict = new OrderedDictionary();
}
在我的代码的其他地方,我有类似的东西:
public MyObject GetNextObject()
{
/* In my code keep track of the current index */
_currentIndex++;
// check _currentindex doesn't exceed the _questions bounds
return _dict[_currentIndex] as MyObject;
}
现在我的问题是。在最后一种方法中,我使用了索引。想象一下 _currentIndex 设置为 10,但我还有一个 id 为 10 的对象。我已将 Id 设置为键。
MyObject 的 Id 类型为 long?。这会出错吗?