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
Ottimizzare le performance usando Span<T> e il metodo Split
Loggare le query più lente con Entity Framework
Gestire progetti .NET + React in .NET Aspire
Integrazione di Copilot in .NET Aspire
Dallo sviluppo locale ad Azure con .NET Aspire
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Collegare applicazioni server e client con .NET Aspire
Anonimizzare i dati sensibili nei log di Azure Front Door
Controllare la velocità di spostamento su una pagina HTML
Evidenziare una porzione di testo in un pagina dopo una navigazione
Integrare SQL Server in un progetto .NET Aspire
Importare repository da Bitbucket a GitHub Enterprise Cloud


