什麼是對類型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