static Dictionary<Guid, Dictionary<Explorer, List<SuperFile>>> GroupFiles(IList<FarFile> files, ExplorerFunctions function) { var result = new Dictionary<Guid, Dictionary<Explorer, List<SuperFile>>>(); foreach (SuperFile file in files) { if (function != ExplorerFunctions.None && 0 == (file.Explorer.Functions & function)) continue; Dictionary<Explorer, List<SuperFile>> dicExplorer; if (!result.TryGetValue(file.Explorer.TypeId, out dicExplorer)) { dicExplorer = new Dictionary<Explorer, List<SuperFile>>(); result.Add(file.Explorer.TypeId, dicExplorer); } List<SuperFile> efiles; if (!dicExplorer.TryGetValue(file.Explorer, out efiles)) { efiles = new List<SuperFile>(); dicExplorer.Add(file.Explorer, efiles); } efiles.Add(file); } return result; }
static Dictionary <Guid, Dictionary <Explorer, List <SuperFile> > > GroupFiles(IList <FarFile> files, ExplorerFunctions function) { var result = new Dictionary <Guid, Dictionary <Explorer, List <SuperFile> > >(); foreach (SuperFile file in files) { if (function != ExplorerFunctions.None && 0 == (file.Explorer.Functions & function)) { continue; } if (!result.TryGetValue(file.Explorer.TypeId, out Dictionary <Explorer, List <SuperFile> > dicExplorer)) { dicExplorer = new Dictionary <Explorer, List <SuperFile> >(); result.Add(file.Explorer.TypeId, dicExplorer); } if (!dicExplorer.TryGetValue(file.Explorer, out List <SuperFile> efiles)) { efiles = new List <SuperFile>(); dicExplorer.Add(file.Explorer, efiles); } efiles.Add(file); } return(result); }