Heim >Backend-Entwicklung >C++ >Wie erhalte ich mit LINQ den Index eines Elements in einer Liste oder einem Array?

Wie erhalte ich mit LINQ den Index eines Elements in einer Liste oder einem Array?

Barbara Streisand
Barbara StreisandOriginal
2025-01-15 08:28:44526Durchsuche

How to Get the Index of an Element in a List or Array Using LINQ?

Elementindizes mit LINQ effizient finden

Bei der Arbeit mit Datenstrukturen wie Listen und Arrays ist es häufig erforderlich, den Index eines Elements zu finden, das bestimmten Kriterien entspricht. LINQ bietet eine elegante Lösung, die im Vergleich zu herkömmlichen schleifenbasierten Ansätzen präzisen und lesbaren Code bereitstellt.

Um den Index des ersten Elements zu bestimmen, das eine Bedingung erfüllt, betrachten Sie diese LINQ-Abfrage:

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

Dieser Code verwendet zunächst Select, um anonyme Objekte zu erstellen, wobei jedes car mit seinem index gepaart wird. First filtert dann diese Sequenz und gibt das erste Objekt zurück, das myCondition erfüllt. Schließlich zeigt die index-Eigenschaft dieses Objekts den gewünschten Index an.

Eine etwas kompaktere Version:

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

Eine weitere Vereinfachung ist mit C# 7-Tupeln möglich:

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

Der Vorteil der Verwendung von LINQ liegt auf der Hand: Es liefert sauberen, ausdrucksstarken Code, sodass keine manuelle Iteration und explizite Variablenverwaltung erforderlich sind.

Das obige ist der detaillierte Inhalt vonWie erhalte ich mit LINQ den Index eines Elements in einer Liste oder einem Array?. 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