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
Utilizzare la versione generica di EntityTypeConfiguration in Entity Framework Core
Disabilitare automaticamente un workflow di GitHub
Short-circuiting della Pipeline in ASP.NET Core
Utilizzare HiLo per ottimizzare le insert in un database con Entity Framework
Recuperare un elemento inserito nella cache del browser tramite API JavaScript
Utilizzare un service principal per accedere a Azure Container Registry
Potenziare Azure AI Search con la ricerca vettoriale
Registrare servizi multipli tramite chiavi in ASP.NET Core 8
Paginare i risultati con QuickGrid in Blazor
Evitare il flickering dei componenti nel prerender di Blazor 8
Copiare automaticamente le secret tra più repository di GitHub
Autenticarsi in modo sicuro su Azure tramite GitHub Actions