Heim >Backend-Entwicklung >C++ >Wie kann ich die chinesische () -Methode von LINQ verwenden, um einzigartige Objekte basierend auf bestimmten Eigenschaften zu erhalten?
lINQ (Sprachintegrationsanfrage) bietet ein leistungsstarkes Werkzeug
, um einzigartige Elemente aus der Sammlung zu filtern und abzurufen. Wenn die Attribute des Objekts jedoch nicht einfach sind, kann die Verwendung von schwierig sein. Distinct()
Distinct()
verwenden differentin ()
Um für das Attribut des Objekts zu verwenden, müssen Sie das Objekt basierend auf diesen Attributen gruppieren und dann einen eindeutigen Vertreter aus jeder Gruppe auswählen. Dies kann mit den Methoden und
von LINQ implementiert werden.
Distinct()
Beispiel: Abstand basierend auf ID -Attribut GroupBy
Select
Um eine Liste des eindeutigen Personobjekts gemäß dem ID -Attribut zu erhalten, können Sie den folgenden Code verwenden:
Dieser Code gruppiert das Personobjekt nach seinem ID -Attribut, um eine Gruppe zu erstellen. Verwenden Sie dann die -Methode, um das Objekt der ersten Person aus jeder Gruppe auszuwählen und basierend auf dem ID -Attribut effektiv eine eindeutige Liste von Personenobjekten anzugeben.
<code>Person1:Id=1,Name="Test1" Person2:Id=1,Name="Test1" Person3:Id=2,Name="Test2"</code>
unterschiedlich
<code class="language-csharp">List<Person> distinctPeople = allPeople .GroupBy(p => p.Id) .Select(g => g.First()) .ToList();</code>
Sie können auch Select
verwenden, indem Sie den zusammengesetzten Schlüssel für mehrere Attribute definieren. Um beispielsweise die eindeutige Person -Objektliste basierend auf ID- und FavoriteColor -Attributen zu erhalten, können Sie den folgenden Code verwenden:
Hinweis:
Bitte beachten Sie, dass einige Abfragebereicher möglicherweise nicht in der Lage sind, jede Gruppe zu analysieren, die mindestens ein Element enthalten müssen. Darüber hinaus benötigt die vorherige Version von EF Core 6 ein wenig unterschiedliche Möglichkeiten. Weitere Informationen finden Sie in der Antwort der Stackoverflow -Antwort. (Es wird angenommen, dass sich der Originaltext auf Stackoverflow -Antworten bezieht. Wenn nicht, können Sie diesen Satz löschen) Distinct()
Das obige ist der detaillierte Inhalt vonWie kann ich die chinesische () -Methode von LINQ verwenden, um einzigartige Objekte basierend auf bestimmten Eigenschaften zu erhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!