другой я достал с базы. То как оптимальнее всего их привести к единому? Т.е. если в базе есть лишнее, то удалить. Если чего-то не хватает, то наоборот, добавить
Подумал, что можно сначала выяснить какой из списков больше, начать ходить по нему, отмечая какие позиции в маленьком списке обработаны
Потом, как маленький закончится, оставшиеся записи или удалить или добавить
Но чет как-будто не очень красиво, как поудобнее можно сделать это?
превратить один в HashSet<T> и отфильтровать второй за O(1) проверяя в первом наличие
Имхо нет смысла выяснять кто больше, просто пройдите по каждому и найдите удалённые, добавленные и измененные
Если на этот список нет ссылок, то самое изящьное и простое, удалить весь список из базы, и записать новый пришедший.
Обсуждают сегодня