У меня есть 2 словаря с похожей структурой
Dictionary<string, List<int>> Origins
и
Dictionary<string, List<int>> Changes
Вначале я создал Origins.Это копия начального состояния.Пример:
Origins["toto"] = new List<int>(){1,2,3};
Origins["tata"] = new List<int>();
Origins["titi"] = new List<int>(){1,2};
После действия пользователя я сохраняю изменения в словаре изменений.Обычно пользователь может добавлять или удалять некоторые числа, связанные со строкой.Поэтому я сохраняю все следы любого изменения, например:
пример: если пользователь добавляет 1 в слове "tata" в словаре Изменения имеют "tata" имеют 1
если пользовательдобавить 4 в слове «toto» в словаре Изменения имеют «toto», имеют 1,2,3,4
, если пользователь удаляет 1 в словаре «titi». Изменения имеют иметь «titi» имеют 2
Мне нужен словарь Changes для того, чтобы знать, когда пользователь возвращается в исходное состояние, с простым сравнением.
Если для строки не выполняется никаких изменений, в словаре Changes нет записиэта строка.
После многих изменений пользователь может сохранить изменения.Поэтому теперь мне нужно найти все операции добавления и удаления.
Моя первая идея - сравнить два словаря, чтобы увидеть операцию добавления и операцию удаления.Но как ?Если я сравниваю списки для одной и той же строки, я могу знать разницу, но я застрял здесь.А может быть, есть лучший способ сделать это?Любое предложение?