什么是对类型DirectoryItem的列表,找到和项目的有效途径 -查找某一项目
List<DirectoryItem> lstRootDirectory = GetAllRootLevelDirectories();
每个DirectoryItem有一个项目(同一类型 - 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;
}
在这种情况下,这将是更好的方法来从这种分层列表查找出的项目。
我已经在stackoverflow上搜索并寻找一个有效的方法。 http://stackoverflow.com/questions/11830174/how-to-flatten-tree-via-linq – 2015-03-03 09:15:06
这只是一个更简单的方法。您的其他选择是根据数据的性质,您正在搜索的信息以及预期的结果数量,编写递归方法,可以是“深度优先”或“宽度优先”,这可能更有效。 – 2015-03-03 09:24:31
是的,正如阿米特所言,这些都是好的方法!顺便说一下,目前,我有递归的方法看起来像_Vajura_,它似乎比** Linq **更好。 – 2015-03-03 09:33:08