La classe List<T> mette a disposizione il metodo ForEach che permette di eseguire una determinata azione su ogni elemento della lista. Questo metodo è molto comodo, ma poiché fa parte della classe List<T>, non è utilizzabile per le liste restituite da query LINQ a meno che non si invochi il meteodo ToList alla fine della query.
In questo script, creiamo un extension method ForEach che si applica alla classe IEnumerable<T> e che quindi può essere utilizzato anche senza invocare il metodo ToList.
public static IEnumerable<T> ForEach<T>(this IEnumerable<T> input, Action<T> action) { foreach (T item in input) { action(item); } return input; }
Una volta creato l'extension method, possiamo utilizzarlo nel seguente modo.
var data = myList.Where(c => c.IsAvailable) .ForEach(c => Console.Write(c));
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Estrarre dati randomici da una lista di oggetti in C#
Utilizzare Hybrid Cache in .NET 9
Referenziare un @layer più alto in CSS
Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione
Triggerare una pipeline su un altro repository di Azure DevOps
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Creare un webhook in Azure DevOps
Migliorare i tempi di risposta di GPT tramite lo streaming endpoint in ASP.NET Core
Gestione degli eventi nei Web component HTML
Documentare i servizi REST con Swagger e OpenAPI con .NET 9
Generare velocemente pagine CRUD in Blazor con QuickGrid
Creare una libreria CSS universale: Nav menu