2010-09-21 50 views
7

Tôi có một số TDictionary<TKeyClass, TValueClass>.Làm thế nào để lấy chìa khóa từ một TDictionary?

tôi muốn đạt được cái gì đó như

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

Tôi không thể Truy cập Keys nữa tôi chỉ có thể sử dụng chúng nếu tôi biết chính xác họ.

Cách duy nhất để tạo một TDictionary<TValueClass, TKeyValue>? Vì vậy, tôi có thể loop thorugh the Keys?

Các workaroud tôi tìm thấy là tạo ra một TList<TKeyClass> nhưng đây là cái gì tôi không thích.

Trả lời

14

Sử dụng điều tra viên.

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

Vì TDictionary là bảng băm nên bạn không thể truy cập nó bằng chỉ số nguyên như mảng hoặc TList. Nhưng một điều tra viên hoạt động tốt.

Các vấn đề liên quan