Quando usiamo un ciclo foreach per scorrere gli elementi di una lista, una delle informazioni che spesso torna utile è l'indice dell'elemento nella lista. Come alternativa possiamo usare il ciclo for, ma questo potrebbe necessitare di un conteggio degli elementi qualora la lista non abbia una proprietà Count. Ad esempio, nel caso di IEnumerable[T][ non abbiamo la proprietà Count, ma dobbiamo usare il metodo Count che conta tutti gli elementi.
Con .NET 9, abbiamo una nuova freccia nel nostro arco che unisce i vantaggi di uno e dell'altro metodo: il metodo di LINQ Index. Questo extension method prende in input una lista e ritorna un enumeratore della lista dove ogni elemento è una tupla che contiene l'indice dellelemento corrente e l'elemento corrente: IEnumerable<(int Index, TSource Item)>. Vediamone un esempio nel codice qui sotto.
var people = new List<People> { new("Stefano", "Mostarda"), new("Daniele", "Bochicchio"), new("Cristian", "Civera"), }; foreach (var (i, person) in people.Index()) { Console.WriteLine($"{i} - {person.FirstName} {person.LastName}"); }
L'esempio mostra come l'uso del foreach sia sempre lo stesso ma col vantaggio di avere anche l'indice come nel ciclo for.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Escludere alcuni file da GitHub Secret Scanning
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
Miglioramenti nelle performance di Angular 16
Migliorare la scalabilità delle Azure Function con il Flex Consumption
Creare una libreria CSS universale: i bottoni
Usare lo spread operator con i collection initializer in C#
Eliminare una project wiki di Azure DevOps
Usare il colore CSS per migliorare lo stile della pagina
Supportare lo HierarchyID di Sql Server in Entity Framework 8
Sviluppare un'interfaccia utente in React con Tailwind CSS e Preline UI
Gestione dell'annidamento delle regole dei layer in CSS
Utilizzare QuickGrid di Blazor con Entity Framework
I più letti di oggi
- Effettuare shallow e deep copy di un reference type
- Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
- Learn&Get 'Applicazioni del mondo reale con ASP.NET 2.0' - Milano
- Microsoft Security Bulletin di maggio 2008
- Preview 4 per ASP.NET MVC
- Speciale ASP.NET Charting: grafici per tutti i gusti!
- Resi noti i prezzi di Windows 7: in italiano dal 22 ottobre
- Il web per le masse: Microsoft presenta il nuovo editor gratuito WebMatrix
- Ritardo per il SP3 di Windows 2000
- UDDI, terza versione in arrivo