Heim >Backend-Entwicklung >C++ >Wie kann ich den Index der aktuellen Iteration in einer C#-Foreach-Schleife abrufen?

Wie kann ich den Index der aktuellen Iteration in einer C#-Foreach-Schleife abrufen?

DDD
DDDOriginal
2025-01-27 18:06:11260Durchsuche

How Can I Get the Index of the Current Iteration in a C# Foreach Loop?

Iterative Index in der Foreach -Schleife

verwenden Die aktuelle Iteration in der Foreach -Schleife ist eine übliche Programmieraufgabe. Obwohl C# keine gebaute Lösung bietet, verfügt es über eine einzigartige Struktur, die diese Nachfrage erfüllen kann.

Lösung: Verwenden Sie ausgewählte und anonyme Objekte

Eine Methode besteht darin, die LINQ -Auswahlmethode zu verwenden, die eine schwere Last bietet, mit der Sie eine Funktion angeben können, die den Wert und den Index als Parameter verwendet. Durch die Auswahl des Index in dieser Funktion können Sie ein anonymer Objekt erstellen, das Wert und Index enthält:

optimiert: Verwenden Sie Valuetuple und automatische Dekonstruktion

<code class="language-csharp">foreach (var item in Model.Select((value, i) => new { i, value }))
{
    var value = item.value;
    var index = item.i;
}</code>

Wenn Sie C# 7.0 oder höhere Version verwenden, können Sie ValuETuple anstelle von anonymen Objekten verwenden, um die Haufen -Zuordnung zu vermeiden:

Darüber hinaus erfordert die automatische Dekonstruktion keine explizite Zugriffsattribute:

<code class="language-csharp">foreach (var item in Model.Select((value, i) => (value, i)))
{
    var value = item.value;
    var index = item.i;
}</code>
Durch Kombination dieser Strukturen können Sie die aktuellen iterativen Indizes im C# foreach -Zyklus problemlos abrufen, wodurch die Genauigkeit und Flexibilität des Codes verbessert wird.

Das obige ist der detaillierte Inhalt vonWie kann ich den Index der aktuellen Iteration in einer C#-Foreach-Schleife 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