0

我在 C# 中有一个字符串列表:

List<string> { "A", "B", "C", "D" };

这些字符串是产品类别的“标题”。

我需要将它们转换成这样的节点分支:

A > B > C > D

列表中项目的顺序决定了它们在分支中的位置,即。A 是根节点,D 是叶节点。

我的对象被调用WebBrowseNode,它具有属性:

  • string Title( string)
  • List<WebBrowseNode> Children

我已经在这里至少一个小时了,找不到合适的算法来做到这一点。

4

1 回答 1

2

这个想法是从列表的末尾开始。

WebBrowseNode lastNode = null;
for (int numItem = list.Count - 1; numItem >= 0; numItem--)  // Go from the end to the beginning of the list
{
    string title = myStringList[numItem];

    lastNode = new WebBrowseNode
    {
        Title = title,
        Children = { lastNode }                              // Adds lastNode to the Children list
    };
}

WebBrowseNode root = lastNode;
于 2013-07-23T15:46:32.510 回答