Zwei Objektgruppen zusammenführen

Ich habe ein Formular, in dem Benutzer eine Auflistung von Objekten mithilfe eines DataGrid ändern können. Wenn das Formular geöffnet wird, erstelle ich eine tiefe Kopie der ursprünglichen Sammlung. Wenn Sie auf Abbrechen klicken, wird diese Kopie verworfen.

Das Problem ist, dass ich beim Klicken auf die Schaltfläche OK die Änderungen abgleichen muss, bei denen es sich möglicherweise um Folgendes handelt:

Geänderte Eigenschaften vorhandener ObjekteNeue Objekte, die an einer beliebigen Stelle in der Sammlung hinzugefügt wurden.Bestehende Objekte entfernt.Bestehende Objekte werden nachbestellt.

Da ich die Originalreferenzen behalten muss, kann ich die Sammlung nicht einfach löschen und die geänderten Elemente hinzufügen.

Kennen Sie einen einfachen Algorithmus, der zwei Sammlungen wie diese synchronisiert?

Ich verwende C # 3.5, damit LINQ verfügbar ist.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage