我有一个List<Element>
对象集合 ( ),如下所述:
class Element
{
string Name;
string Value;
ICollection<Element> ChildCollection;
IDictionary<string, string> Attributes;
}
我基于读入的一些 XML 构建了一个对象List<Element>
集合Element
,对此我非常满意。目前如何实现对这些元素的搜索让我不解,但想知道是否有更好的解决方案。
集合的结构如下所示:
- 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)
目前我正在使用递归在Attributes
每个顶级(A、B、C)的字典中搜索Element
特定的KeyValuePair
. 如果我在顶层找不到它,Element
我开始以相同的方式搜索它的ChildElement
集合(1、1.1、2、2.1、n 等)。
我很好奇的是是否有更好的方法来实现对这些对象的搜索,或者在这种情况下递归是更好的答案,如果我应该像目前一样实现搜索,top -> child -> child ->等等,或者我是否应该以其他方式搜索,例如首先搜索所有顶级?
我可以,并且使用 TPL 并行搜索每个顶级(A、B、C)是否合理?