Citat:
Ursprungligen postat av
Poopo
Hejsan behöver lite hjälp med att loopa igenom en dictionary. Vill få ut IButton men lyckas inte :/ Skulle uppskatta med lite fingervisning. GetAllButtons returnerar en Dictionary med samma värden som den som jag har döpt till map. Skulle vilja kunna få ut både stringen och IButton så att ifall en av knapparna inte finns. Så ska jag kunna identifiera den genom stringen.
Kod:
public String buttonTest() {
Dictionary<String, IButton> map = GetAllButtons();
for (IButton button : map.get(button)) {
boolean testButton = button.Click();
return testButton;
}
Inte säker på att jag förstår problemet, det är inte alldeles självklart givet texten.
Om jag förstått det rätt vill du alltså ta reda på om en knapp inte finns och då få fram dess nyckel, är det så?
Ditt kodexempel förvirrar ju aningen med, men vad händer oom du skulle typa om din dictionary till något mer användbart, typ en HashTable? Då skulle du ju kunna få tag på en hel del andra goodies och då avgöra om entries finns eller ej?
Kod:
//vi har redan fått tag på knappen på nåt vänster, kallat button här
HashTable<String, IButton> table = (HashTable)GetAllButtons();
for(Map.Entry<String, IButton> entry : table.entrySet){
if(entry.getValue().equals(button) return entry;
}
return null;
Du kommer bli tvungen att ändra metoden så den ger ifrån sig ett Map.Entry, men gör du det ska du i teorin kunna få tag på ett nycke-värdepar, precis som du ville ha det?
Edit: Fan, kanske inte funkar ändå när jag tänker efter. Paketera om din Dictionary till något användbart, typ en HashTable, för Dictionary i sig är ju rätt oanvändbart, alternativt något annat som implementerar Map-interfacet.