В настоящее время у меня есть 3 словарей:Сравнить 2 словаря с внутренним списком в словарь Diff?
private Dictionary<string, List<string>> oldList = new Dictionary<string, List<string>>();
private Dictionary<string, List<string>> newList = new Dictionary<string, List<string>>();
private Dictionary<string, List<string>> patchList = new Dictionary<string, List<string>>();
oldList и NewList заполнены с каталогом, и все эти подкаталоги и файлы, в которых корень и подкаталоги являются ключом и файлы внутреннего список всех файлов каталог.
код, который используется для заполнения NewList:
private void ProcessDirectory(string targetFolder)
{
List<string> newInnerList = new List<string>();
newList.Add(targetFolder, newInnerList);
newInnerList = newList[targetFolder];
foreach (string file in Directory.GetFiles(targetFolder))
newInnerList.Add(Path.GetFileName(file));
foreach (string dir in Directory.GetDirectories(targetFolder))
ProcessDirectory(dir);
}
- Это нормально использовать словарь с внутреннем Списком держать эти данные или есть лучший способ это сделать?
Теперь я хочу сравнить newList с oldList и найти, какие файлы были изменены, и какие файлы имеет новый список, который нет в старом списке.
- Что бы быть лучшим способом для перебора между 2 списками при этом в контрольной суммы файлов для заполнения patchList?
Наверняка есть более простые способы, чтобы сделать резервные копии или синхронизации. –
Ну, чтобы объяснить немного больше, это нужно использовать с xdelta для создания файлов патчей для обновления. – Prix