在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的变体)