Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 2582|Antwort: 1

[Quelle] .NET/C# wählt geschickt Indizes in foreach aus

[Link kopieren]
Veröffentlicht am 01.02.2024 20:26:18 | | | |
Einleitung

Die for- und foreach-Schleifen gehören zu den nützlichsten Konstrukten im C#-Entwickler-Werkzeugkasten.
Meiner Meinung nach ist es bequemer, eine Sammlung zu durchlaufen, als in den meisten Fällen.
Es funktioniert mit allen Sammlungstypen, einschließlich nicht-indizierbarer (wie , und erfordern keinen Zugriff auf das aktuelle Element über den Index).
Aber manchmal ist ein Index des aktuellen Artikels wirklich notwendig; Ich bin vor einiger Zeit auf dieses Problem gestoßen, als ich Foreach genutzt habe, um Sammlungen in der Entwicklung zu durchlaufen. Dies verwendet typischerweise eines der folgenden Muster:


Das hat mich schon immer genervt; Können wir nicht sowohl Werte als auch Indizes bekommen?
Es gibt eine einfache Lösung mit Linq und Tupeln.

Lösung 1:

Schreibe einfach eine Erweiterungsmethode wie diese:

Bitte führen Sie den obigen Code in den folgenden Namensraum ein:

Anrufmethode:

Hinweis: Hinter der SammlungWithIndex();

Lösung 2:

Wenn Sie die Erweiterungsmethode umständlich finden, können Sie auch Lösung 2 verwenden

Es ist erledigt, es hat einen kleinen Einfluss auf die Leistung, man kann die Nutzung auf Abruf beobachten!!





Vorhergehend:Nginx deaktiviert ungültige Lösungen für TLSv1.0 und TLSv1.1
Nächster:Oracle-Abfragen geben Probleme mit vollen Feldkapazen zurück
 Vermieter| Veröffentlicht am 24.02.2024 17:00:44 |
.NET 9 PaaresammlungenDie Index-Erweiterungsmethode wurde hinzugefügt, du kannst den Index direkt erhalten, siehe auf:Der Hyperlink-Login ist sichtbar.

öffentliche statische System.Collections.Generic.IEnumerable<(int Index, TSource Item)> Index<TSource> (diese System.Collections.Generic.IEnumerable<TSource> Quelle);

Laden Sie die VS 2022-Vorschau herunter unter:Der Hyperlink-Login ist sichtbar.

.NET 9.0 Vorschau-Download:Der Hyperlink-Login ist sichtbar.

Erstellen Sie eine neue .NET 9-Konsolen-App mit folgendem Code:







Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com