3

パスリストのオブジェクトを使用してツリーリストを作成する必要があります。以下のコードは機能しますが、検索機能からフルパスを取得できません。太字のコードを参照してください...

public List<RestoreTreeViewModel> BuildTree(IEnumerable<string> strings)
{
    return (
      from path in strings
      let split = path.Split('\\')
      group path by path.Split('\\')[0] into g
      select new RestoreTreeViewModel()
      {
          Name = g.Key,
          Nodetype = 2,
          CanReference = true,
          **FullPath = path;**
          Children = BuildTree(            
            from s in g
            where s.Length > g.Key.Length + 1
            select s.Substring(g.Key.Length + 1)) 
      }
      ).ToList();
}

これは機能しますか、それともパスリストからツリーを構築する別の方法を調査する必要がありますか?

4

1 に答える 1

1

BuildTree()メソッドにリストパラメーターを追加してから、そのリストにアイテムを追加(または追加)して、最終結果にパス内のすべてのアイテムが含まれるようにする必要があります。

他にもアプローチする方法はありますが、あなたが何をしようとしているのか理解できれば、それは簡単に思えます。

于 2012-10-31T21:20:57.167 に答える