J'ai une collection (List<Element>
) d'objets tel que décrit ci-dessous:recherche de collection récursive
class Element
{
string Name;
string Value;
ICollection<Element> ChildCollection;
IDictionary<string, string> Attributes;
}
Je construis une base sur certains XML que je lis dans la collection List<Element>
de Element
objets, ce que je suis tout à fait satisfait. Comment mettre en œuvre la recherche de ces éléments me a actuellement, non perplexe, mais je me demande s'il existe une meilleure solution.
La structure de la collection ressemble à quelque chose comme ceci:
- Element (A)
- Element (A1)
- Element (A1.1)
- Element (A2)
- Element (B)
- Element (B1)
- Element (B1.1)
- Element (B1.2)
- Element (C)
- Element (C1)
- Element (C2)
- Element (C3)
Actuellement, je suis en utilisant récursion pour rechercher le dictionnaire Attributes
de chaque niveau (A, B, C) Element
pour un KeyValuePair
particulier. Si je ne le trouve pas dans le niveau supérieur Element
je commence à chercher sa collection ChildElement
(1, 1.1, 2, 2.1, n, etc.) de la même manière. Ce qui m'intéresse est de savoir s'il existe une meilleure méthode pour implémenter une recherche sur ces objets ou si la récursivité est la meilleure réponse dans ce cas, si je devais implémenter la recherche comme je suis actuellement, top -> child - > enfant -> etc. ou si je devrais chercher d'une autre manière comme tous les premiers niveaux en premier?
Pourrais-je, et serait-il raisonnable d'utiliser le TPL pour rechercher chaque niveau supérieur (A, B, C) en parallèle?
Que cherchez-vous? – Sayse