public ZFS(IArchive a) { archive = a; root = new MyEntry(null); List <MyEntry> folders = new List <MyEntry>(); list.Add(root); folders.Add(root); foreach (var e in archive.Entries) { var m = new MyEntry(e); list.Add(m); if (m.IAE.IsDirectory) { folders.Add(m); } } foreach (var e in list) { var i = folders.FindIndex(f => f.Path == e.ParentPath); if (i >= 0) { folders[i].Child.Add(e); } } }
bool Find(string path, out MyEntry myEntry) { myEntry = null; var d = list.FindIndex(i => i.Path == path); if (d == -1) { return(false); } myEntry = list[d]; return(true); }