Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 2582|Atsakyti: 1

[Šaltinis] .NET/C# sumaniai pasirenka indeksus foreach

[Kopijuoti nuorodą]
Paskelbta 2024-02-01 20:26:18 | | | |
Įvadas

Kilpos for ir foreach yra viena iš naudingiausių konstrukcijų C# kūrėjo įrankių rinkinyje.
Mano nuomone, pakartoti kolekciją yra patogiau nei daugeliu atvejų.
Jis veikia su visais rinkinio tipais, įskaitant neindeksuojamus (pvz., , ir nereikalauja prieigos prie dabartinio elemento per indeksą).
Tačiau kartais dabartinio elemento rodyklė tikrai reikalinga; Aš susidūriau su šia problema prieš kurį laiką, kai aš naudojau foreach pereiti kolekcijas kūrimo. Paprastai naudojamas vienas iš šių modelių:


Tai visada mane erzino; Ar negalime gauti ir reikšmių, ir indeksų?
Yra paprastas sprendimas su Linq ir tuples.

1 sprendimas:

Tiesiog parašykite tokį plėtinio metodą:

Įveskite aukščiau pateiktą kodą į šią vardų sritį:

Skambinimo būdas:

Pastaba: už kolekcijosSu indeksu();

2 sprendimas:

Jei pratęsimo metodas jums atrodo sudėtingas, taip pat galite naudoti 2 sprendimą

Tai padaryta, tai turi šiek tiek įtakos našumui, galite stebėti naudojimą pagal poreikį!!





Ankstesnis:"Nginx" išjungia netinkamus TLSv1.0 ir TLSv1.1 sprendimus
Kitą:"Oracle" užklausos grąžina lauko didžiųjų raidžių problemas
 Savininkas| Paskelbta 2024-02-24 17:00:44 |
.NET 9 porų kolekcijosPridėtas indekso plėtinio metodas, rodyklę galite gauti tiesiogiai, žr.:Hipersaito prisijungimas matomas.

viešasis statinis System.Collections.Generic.IEnumerable<(int Index, TSource Item)> Index<TSource> (šis System.Collections.Generic.IEnumerable<TSource> šaltinis);

Atsisiųskite VS 2022 peržiūrą adresu:Hipersaito prisijungimas matomas.

.NET 9.0 peržiūros atsisiuntimas:Hipersaito prisijungimas matomas.

Sukurkite naują .NET 9 konsolės programą naudodami šį kodą:







Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com