Ahoj, mám problém s vlastní funkcí pro vyhledávání v hierarchické kokelci.
public Item GetItemByID(string ID, ItemCollection Collection)
{
foreach(Item a in Collection)
{
if(a.ID == ID)
{
return a;
}
return GetItemByID(ID, a.SubItems);
}
return null;
}
Problém je asi patrný, ale pro úplnost: - Kód najde vždy jen jednu položku v kolekci, jednu v podkolekci, ... ... Je to způsobeni tím, že v cyklu bud vrátím objekt, nebo přejdu na jeho kolekci prvků. Tudíž druhý objekt v téže kolekci to už nenajde. Dumám nad tím už dlouho, a nevím, jak to napsat lépe (funkčně). Poradíte prosím? Díky
|