如果您發現命名此問題標題的更簡單的方式,請隨時更新它。遍歷樹初始化變量
我有節點
public Class Node
{
public List<Node> Children = new List<Node>();
public Node Parent;
public FileSystemInfo Value;
}
代表在樹中的文件。
現在我會想改變節點類:
class ScanItem
{
public List<ScanItem> Children;
public ScanItem Parent;
public long Size;
public string Name;
public string FullPath;
public bool IsDirectory;
// etc....
}
所以我的問題是我如何能夠施放Node
類對象爲ScanItem
。 我想存儲文件和目錄的大小,而不僅僅是文件。(節點類只存儲文件的大小而不是目錄)因此,我將不得不以遞歸方式跟蹤兒童大小的總和,以實現我想要的。
到目前爲止,我已經放在ScanItem此構造函數:
public ScanItem(Node node)
{
this.Name = node.Name;
this.FullPath = node.Value.FullName;
foreach(var child in node.Children)
{
this.Children.add(new ScanItem(child));
}
}
這將使我來執行轉換,但我缺少指定目錄的大小...
'node.Name,node.FullName'我無法在'Node'中看到這些屬性, – user1655481
修復它。這並不重要。我正在初始化構造函數中的其他變量。我感興趣的唯一變量是大小,當涉及到目錄... –
爲什麼不遍歷所有的子文件來計算總大小..即使在操作系統,他們確定文件夾大小的時候你查詢其大小。 – user1655481