Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 2582|Odgovoriti: 1

[Vir] .NET/C# spretno izbere indekse v foreach

[Kopiraj povezavo]
Objavljeno na 1. 02. 2024 20:26:18 | | | |
Uvod

Zanke for in foreach so ene najbolj uporabnih konstrukcij v C# razvijalskem orodju.
Po mojem mnenju je ponavljanje zbirke bolj priročno kot v večini primerov.
Deluje z vsemi vrstami zbirk, vključno z neindeksnimi (kot so , in ne zahtevajo dostopa do trenutnega elementa preko indeksa).
Včasih pa je indeks trenutne postavke res potreben; S to težavo sem naletel že pred časom, ko sem uporabljal foreach za prečkanje zbirk med razvojem. To običajno uporablja enega od naslednjih vzorcev:


Vedno me je motilo; Ali ne moremo dobiti tako vrednosti kot indekse?
Obstaja preprosta rešitev z Linq in n-tičkami.

Rešitev 1:

Preprosto napiši metodo razširitve, kot je ta:

Prosimo, vnesite zgornjo kodo v naslednji imenski prostor:

Način klicanja:

Opomba: Za zbirkoWithIndex();

Rešitev 2:

Če vam je metoda podaljšanja nerodna, lahko uporabite tudi Rešitev 2

Končano je, ima majhen vpliv na zmogljivost, lahko opazuješ uporabo na zahtevo!!





Prejšnji:Nginx onemogoči neveljavne rešitve TLSv1.0 in TLSv1.1
Naslednji:Oracle poizvedbe vračajo težave s polnimi kapami polja
 Najemodajalec| Objavljeno na 24. 02. 2024 17:00:44 |
.NET 9 zbirke parovDodana metoda razširitve indeksa, indeks lahko dobite neposredno, glejte:Prijava do hiperpovezave je vidna.

javni statični System.Collections.Generic.IEnumerable<(int Index, TSource Item)> Index<TSource> (ta System.Collections.Generic.IEnumerable<TSource> vir);

Prenesite predogled VS 2022 na:Prijava do hiperpovezave je vidna.

Predogled .NET 9.0:Prijava do hiperpovezave je vidna.

Ustvarite novo .NET 9 konzolno aplikacijo z naslednjo kodo:







Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com