К основному контенту

Сообщения

Сообщения за июнь, 2016

Ищем отличия между двумя коллекциями объектов с помощью C#

Введение Имея некую текущую коллекцию объектов и новую коллекцию, нам необходимо узнать какие элементы были добавлены в оригинал, а которые были удалены. Описание Что бы было проще, назовем текущую коллекцию А, а новую коллекцию, в которой будут изменения – B Объекты, которые удалены  содержатся в коллекции А, но не содержаться в B Объекты, которые добавлены – это те объекты, которые содержатся в коллекции B, но не содержаться в A Код: Опишем сказанное выше с помощью следующего кода: public static void Compare < T > ( List < T > existing, List < T > updated, out List < T > added, out List < T > removed ) where T : IComparable { added = updated. Except ( existing ) . ToList ( ) ; removed = existing. Except ( updated ) . ToList ( ) ; } В принципе, как вы видите ничего сложного. Пример Теперь прикинем на примере: static void Main ( string [ ] args ) { List < int > A = new List < int > ( )