Heim >Backend-Entwicklung >C++ >Wie entferne ich doppelte Objekte basierend auf einer Eigenschaft mithilfe von LINQ?

Wie entferne ich doppelte Objekte basierend auf einer Eigenschaft mithilfe von LINQ?

Susan Sarandon
Susan SarandonOriginal
2025-01-15 21:57:45746Durchsuche

How to Remove Duplicate Objects Based on a Property Using LINQ?

Eindeutige Objekte basierend auf Eigenschaften mit LINQ extrahieren

Beim Arbeiten mit Sammlungen kann es vorkommen, dass Sie Duplikate basierend auf bestimmten Objekteigenschaften entfernen müssen. Angenommen, Sie verfügen über eine Sammlung von Car-Objekten, die durch ihre CarCode-Eigenschaft eindeutig identifiziert werden. Die Sammlung kann jedoch Duplikate mit demselben CarCode enthalten. In diesem Artikel wird gezeigt, wie Sie mit LINQ diese Duplikate entfernen und nur eindeutige Car-Instanzen behalten.

Dazu können wir die Technik der Kombination von Gruppierung und Auswahl verwenden. Der folgende Codeausschnitt demonstriert diesen Ansatz:

<code class="language-csharp">List<Car> distinct =
  cars
  .GroupBy(car => car.CarCode)
  .Select(g => g.First())
  .ToList();</code>

In diesem Code verwenden wir zunächst die GroupBy-Methode, um Autos nach ihrer CarCode-Eigenschaft zu gruppieren. Dieser Vorgang erstellt Gruppen für jeden eindeutigen CarCode. Anschließend verwenden wir die Select-Methode, um mit g.First() das erste Auto aus jeder Gruppe zu extrahieren. Dieser Schritt stellt sicher, dass nur ein Car-Objekt pro eindeutigem CarCode beibehalten wird.

Durch die Ausführung dieses LINQ-Ausdrucks erhalten Sie eine neue Sammlung namens „distinct“, die nur eindeutige Car-Objekte basierend auf ihrer CarCode-Eigenschaft enthält.

Das obige ist der detaillierte Inhalt vonWie entferne ich doppelte Objekte basierend auf einer Eigenschaft mithilfe von LINQ?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn