C#将List转换为Branch

本文关键字:Branch 转换 List | 更新日期: 2023-09-27 18:24:36

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

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

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

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

A > B > C > D

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

我的对象名为WebBrowseNode,它具有以下属性:

  • string Titlestring
  • List<WebBrowseNode> Children

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

C#将List转换为Branch

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

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;