Я рассматриваю возможность использования OrderedDictionary. В качестве ключа я хочу использовать длинное значение (id), и это будет пользовательский объект.
Я использую OrderedDictionary, потому что я хочу получить объект по его идентификатору, и я хочу получить объект по его индексу 'collection'.
Я хочу использовать 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, но у меня также есть объект с идентификатором 10. Я установил Id в качестве ключа.
Идентификатор MyObject имеет тип long ?. Это идет не так?