3
我在考慮使用OrderedDictionary。作爲一個關鍵,我想使用一個長的值(id),該值將是一個自定義對象。C#Ordered dictionary index
我使用OrderedDictionary,因爲我想通過它的Id來獲取對象,並且我想通過它的'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,但我也有一個id爲10的對象。我已經將Id設置爲一個鍵。
MyObject的Id類型是long ?.這是否出錯?
所以,當我通過_currentIndex它看到它是一個int,因此它知道尋找索引,而不是ID,因爲類型長的ID? ? – Martijn 2010-05-18 09:23:13
@Martin,對不起,我從來沒有注意到你使用的是OrderedDictionary,請看我的更新答案。 – James 2010-05-18 09:23:44
沒問題。但_currentIndex是一個int,用於通過索引獲取MyObject,而不是通過Id獲取。所以我想我不必投射_currentIndex?我只需要在通過id獲取MyObject時投射索引器,對吧? – Martijn 2010-05-18 09:28:35