2010-09-21 89 views
7

我有一個TDictionary<TKeyClass, TValueClass>如何從TDictionary獲取密鑰?

我要完成像

for i := 0 to MyDictionary.Count -1 do 
    ShowMessage(MyDictionary.Keys[i].AStringProperty) 

東西我無法訪問鑰匙了,我可以只使用他們,如果我確切地知道他們。

是唯一的替代方案創建一個TDictionary<TValueClass, TKeyValue>?所以我可以循環通過Keys?

我發現workaroud是創建一個TList<TKeyClass>但這是我不喜歡的東西。

回答

14

使用枚舉數。

for Key in MyDictionary.Keys do 
    ShowMessage(Key.AStringProperty); 

由於TDictionary是一個哈希表,因此無法像數組或TList那樣通過整數索引訪問它。但是枚舉器工作得很好。