Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 2582|Răspunde: 1

[Sursă] .NET/C# alege inteligent indicii în foreach

[Copiază linkul]
Postat pe 01.02.2024 20:26:18 | | | |
Introducere

Buclele for și foreach sunt unele dintre cele mai utile construcții din trusa de dezvoltatori C#.
În opinia mea, iterarea peste o colecție este mai convenabilă decât în majoritatea cazurilor.
Funcționează cu toate tipurile de colecții, inclusiv cu cele neindexabile (cum ar fi , și care nu necesită acces la elementul curent prin index).
Dar uneori, este cu adevărat necesar un index al articolului curent; M-am confruntat cu această problemă acum ceva timp când foloseam foreach pentru a parcurge colecții în dezvoltare. Acesta folosește de obicei unul dintre următoarele modele:


M-a enervat mereu; Nu putem obține atât valori, cât și indici?
Există o soluție simplă cu Linq și tuple-uri.

Soluția 1:

Pur și simplu scrie o metodă de extensie așa:

Vă rugăm să introduceți codul de mai sus în următorul spațiu de nume:

Metoda de apelare:

Notă: În spatele colecțieiWithIndex();

Soluția 2:

Dacă găsești metoda de extensie greoaie, poți folosi și Soluția 2

S-a terminat, are un mic impact asupra performanței, poți observa utilizarea la cerere!!





Precedent:Nginx dezactivează soluțiile invalide TLSv1.0 și TLSv1.1
Următor:Interogări Oracle returnează câmpuri cu probleme cu capsele complete
 Proprietarul| Postat pe 24.02.2024 17:00:44 |
.NET 9 perechi colecțiiAdăugat metoda de extindere a Index, puteți obține indexul direct, consultați:Autentificarea cu hyperlink este vizibilă.

public static System.Collections.Generic.IEnumerable<(int Index, TSource Item)><TSource> Index (această sursă System.Collections.Generic.IEnumerable<TSource>);

Descarcă previzualizarea VS 2022 la:Autentificarea cu hyperlink este vizibilă.

Previzualizare .NET 9.0 Descărcare:Autentificarea cu hyperlink este vizibilă.

Creează o nouă aplicație de consolă .NET 9 cu următorul cod:







Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com