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
Esportare ed analizzare le issue di GitHub con la CLI e GraphQL
Migrare una service connection a workload identity federation in Azure DevOps
Aprire una finestra di dialogo per selezionare una directory in WPF e .NET 8
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Eseguire attività basate su eventi con Azure Container Jobs
Gestione degli stili CSS con le regole @layer
Implementare l'infinite scroll con QuickGrid in Blazor Server
Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
Sfruttare i KeyedService in un'applicazione Blazor in .NET 8
Implementare il throttling in ASP.NET Core
Creazione di componenti personalizzati in React.js con Tailwind CSS