Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 2582|Atbildi: 1

[Avots] .NET/C# gudri izvēlas indeksus foreach

[Kopēt saiti]
Publicēts 01.02.2024 20:26:18 | | | |
Ievads

Cilpas for un foreach ir viena no noderīgākajām konstrukcijām C# izstrādātāja rīku komplektā.
Manuprāt, kolekcijas atkārtošana ir ērtāka nekā vairumā gadījumu.
Tas darbojas ar visiem kolekcijas veidiem, ieskaitot neindeksējamus (piemēram, , un nav nepieciešama piekļuve pašreizējam elementam, izmantojot indeksu).
Bet dažreiz patiešām ir nepieciešams pašreizējā posteņa indekss; Es saskāros ar šo problēmu pirms kāda laika, kad es izmantoju foreach, lai šķērsotu kolekcijas izstrādē. Parasti tiek izmantots viens no šiem modeļiem:


Tas mani vienmēr ir kaitinājis; Vai mēs nevaram iegūt gan vērtības, gan indeksus?
Ir vienkāršs risinājums ar Linq un tuples.

1. risinājums:

Vienkārši uzrakstiet šādu paplašinājuma metodi:

Lūdzu, ievadiet iepriekš minēto kodu šādā nosaukumtelpā:

Zvanīšanas metode:

Piezīme: Aiz kolekcijasAr indeksu();

2. risinājums:

Ja paplašināšanas metode jums šķiet apgrūtinoša, varat izmantot arī 2. risinājumu

Tas ir izdarīts, tam ir neliela ietekme uz veiktspēju, jūs varat novērot lietošanu pēc pieprasījuma!





Iepriekšējo:Nginx atspējo TLSv1.0 un TLSv1.1 nederīgus risinājumus
Nākamo:Oracle vaicājumi atgriež lauka pilnu burtu problēmas
 Saimnieks| Publicēts 24.02.2024 17:00:44 |
.NET 9 pāru kolekcijasPievienota indeksa paplašinājuma metode, indeksu var iegūt tieši, skatiet:Hipersaites pieteikšanās ir redzama.

publiskais statiskais System.Collections.Generic.IEnumerable<(int Index, TSource Item)> Index<TSource> (šis System.Collections.Generic.IEnumerable<TSource> avots);

Lejupielādējiet VS 2022 priekšskatījumu vietnē:Hipersaites pieteikšanās ir redzama.

.NET 9.0 priekšskatījuma lejupielāde:Hipersaites pieteikšanās ir redzama.

Izveidojiet jaunu .NET 9 konsoles programmu ar šādu kodu:







Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com