LINQ: Optimierung des Indexabrufs in Sammlungen
Die effiziente Lokalisierung von Elementen in großen Datensätzen (Arrays, Sammlungen) ist unerlässlich. LINQ (Language Integrated Query) bietet eine saubere, deklarative Möglichkeit, dies zu erreichen und vermeidet die Komplexität herkömmlicher Schleifen.
Elementindizes lokalisieren
Um den Index eines Elements mithilfe von LINQ zu finden, kombinieren Sie die Methoden Select
und FirstOrDefault
. So geht's:
<code class="language-csharp">var firstIndex = myCars.Select((car, index) => new { car, index }) .FirstOrDefault(myCondition)?.index;</code>
Dieser Code bewirkt Folgendes:
Select
: Erstellt eine Folge anonymer Objekte, wobei jedes ein Autoobjekt (car
) mit seinem Index (index
) paart.FirstOrDefault
: Filtert diese Sequenz basierend auf myCondition
und gibt das erste passende Objekt zurück.?.index
: Greift sicher auf die Eigenschaft index
des Ergebnisses zu (?.
behandelt den Fall, in dem keine Übereinstimmung gefunden wird).Kurze Alternativen
Das Obige kann vereinfacht werden:
<code class="language-csharp">var firstIndex = myCars.Select((car, index) => (car, index)) .FirstOrDefault(myCondition)?.index;</code>
Oder noch prägnanter:
<code class="language-csharp">var firstIndex = myCars.Select((car, index) => new { index }) .FirstOrDefault(myCondition)?.index;</code>
Eleganz statt Iteration
Diese LINQ-Ansätze bieten einen erheblichen Vorteil gegenüber expliziten Schleifen: verbesserte Lesbarkeit und oft bessere Leistung für größere Datensätze. Der deklarative Stil von LINQ fördert saubereren, besser wartbaren Code und fragt gleichzeitig komplexe Datenstrukturen effizient ab.
Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von LINQ effizient den Index eines Elements in einer Sammlung finden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!