在directoryitem类型的列表中查找和项的有效方法是什么-

List<DirectoryItem> lstRootDirectory = GetAllRootLevelDirectories();

每个directoryitem都有一个items(相同类型的列表-directoryitem),directoryitem是一个结构,如下所示:
struct DirectoryItem
        {
          public string AbsolutePath { get { return string.Format("{0}/{1}", BaseUri, Name); } }
          public bool IsDirectory;
          public string Name;
          public List<DirectoryItem> Items;
        }

在这种情况下,从这种层次结构列表中找出一个项的更好方法是什么。

最佳答案

你的数据结构实际上是一个有向树。
任何tree-traversal算法都可以找到所有根级目录,例如:
水平顺序(bfs)
后订单/预订单(dfs的变体)

10-08 06:39