Позвольте мне начать с того, что я прочитал эти вопросы: 1 & 2 , и я понимаю, что могу написать код для поиска дубликатов в моем Списке, но моя проблема Я хочу обновить оригинальный список, а не просто запросить и распечатать дубликаты.
Я знаю, что не могу обновить коллекцию, возвращаемую запросом, поскольку это не представление, а анонимный тип IEnumerable<T>
.
Я хочу иметь возможность найти дубликаты в моем списке и отметить созданное мной свойство с именем State
, которое позже будет использовано в приложении.
Кто-нибудь сталкивался с этой проблемой, и можете ли вы указать мне правильное направление?
p.s. Подход, который я использую в ATM - это цикл типа пузырьковой сортировки, чтобы пройти список по элементам и сравнить ключевые поля. Очевидно, что это не самый быстрый метод.
EDIT:
Чтобы считать элемент в списке «дубликатом», есть три поля, которые должны совпадать. Мы назовем их Field1, Field2 и Field3
У меня есть перегруженный метод Equals () в базовом классе, который сравнивает эти поля.
Единственный раз, когда я пропускаю объект в моем методе MarkDuplicates()
, это если состояние объекта равно UNKNOWN
или ERROR
, в противном случае я проверяю его.
Дайте мне знать, если вам нужно больше деталей.
Еще раз спасибо!