/// <summary> /// (РЕКУРСИЯ!!!)Нахождение всех папок форматов и подсчёт количества фотографий в одинаковых /// </summary> /// <param name="directoryModel">директория, в которой будет производиться поиск</param> /// <returns></returns> public Dictionary <string, int> FormatNumSum(DirectoryModel directoryModel) { Dictionary <string, int> formatesDic = new Dictionary <string, int>(); if (directoryModel == null) { return(formatesDic); } Regex rx = new Regex(@"\d{1,5}[x|х]\d{1,5}[x|х]\d{1,5}", RegexOptions.Compiled | RegexOptions.IgnoreCase); if (rx.IsMatch(directoryModel.ShortName)) { DictionaryHelper.AddToDictionary(formatesDic, new KeyValuePair <string, int>(directoryModel.ShortName, directoryModel.AggregateNumOfEachFileType.Values.Sum()), (int a, int b) => a + b); } foreach (var item in directoryModel.DirectoryModelsList) { formatesDic = DictionaryМerge <string, int>(formatesDic, FormatNumSum(item), (IEnumerable <KeyValuePair <string, int> > pairs) => pairs.Select(x => x.Value).Sum()); } return(formatesDic); }