Heim >Backend-Entwicklung >C++ >Wie kann LINQ den Index eines Objekts, das bestimmte Kriterien erfüllt, effizient abrufen?

Wie kann LINQ den Index eines Objekts, das bestimmte Kriterien erfüllt, effizient abrufen?

Linda Hamilton
Linda HamiltonOriginal
2025-01-15 11:34:44973Durchsuche

How Can LINQ Efficiently Retrieve the Index of an Object Meeting Specific Criteria?

LINQ: Objektindizes effizient finden

Bei der Datenmanipulation ist es häufig erforderlich, den Index eines Objekts zu finden, das bestimmten Kriterien entspricht. Während herkömmliche Schleifen funktionieren, bietet LINQ eine sauberere und effizientere Lösung.

Stellen Sie sich vor, Sie haben eine Sammlung von Objekten (z. B. eine Reihe von Autos). Um den Index des ersten Autos zu finden, das eine bestimmte Bedingung erfüllt, bietet LINQ einen prägnanten Ansatz.

Der Schlüssel besteht darin, die ursprüngliche Sammlung in eine Folge von Tupeln umzuwandeln, die jeweils ein Objekt und seinen Index enthalten. Die Select-Methode von LINQ erreicht mithilfe eines Lambda-Ausdrucks Folgendes:

<code class="language-csharp">myCars.Select((car, index) => new {car, index})</code>

Dadurch wird eine neue Sequenz erstellt. Verwenden Sie nun die Methode First, um das erste Tupel zu finden, das Ihre Bedingung erfüllt:

<code class="language-csharp">myCars.Select((car, index) => new {car, index}).First(myCondition).index;</code>

Für noch mehr Kürze nutzen Sie die Typinferenz:

<code class="language-csharp">myCars.Select((car, index) => (car, index)).First(myCondition).index;</code>

Dadurch wird direkt der Index des ersten übereinstimmenden Objekts zurückgegeben, wodurch weniger effiziente Schleifenmethoden überflüssig werden. Beachten Sie, dass myCondition Ihre spezifischen Kriterien für die Auswahl des Autos darstellt und First eine Ausnahme auslöst, wenn keine Übereinstimmung gefunden wird.

Das obige ist der detaillierte Inhalt vonWie kann LINQ den Index eines Objekts, das bestimmte Kriterien erfüllt, effizient abrufen?. 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