Я хочу сравнить два списка объектов. Эти списки содержат один и тот же тип объектов. Я создаю новый список в моей программе, и я хочу сравнить его со старым списком, который находится в базе данных. Я получаю его с хранимой процедурой, затем я помещаю ее в объект.Сравнить два списка объектов C#
The old list : the new list :
*Category 1* Category 5
*Category 2* Category 6
*Category 3* *Category 4*
Category 4
Здесь цель состоит в том, чтобы удалить первые три категории в старом списке, обусловленно они не существуют в новом списке. И до удалите категорию 4 в новом списке, потому что категория 4 уже существует в старом списке.
Можно использовать такой метод, как Equals()
, или использовать два цикла foreach
для просмотра списков?
Спасибо за вас ответы и советы
Вы пробовали '.Except()' метод расширения? –
Я пробовал это, но проблема в том, что я не использую все свойства объекта, и он не работает. Можно выбрать свойства для сравнения? – Julien698
Метод Except() может принимать IEqualityComparer (http://msdn.microsoft.com/en-us/library/vstudio/ms132151%28v=vs.100%29.aspx), который вы должны реализовать. Он должен выполнить сравнение, которое вы хотите. –