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!