Il metodo Sum di LINQ permette di sommare il valore di una o più proprietà contenute in oggetti che si trovano in una lista. Il metodo accetta in input una lambda che torna un oggeto che deve essere di tipo numerico numerico come Int32, Int64, decimal e così via. Sebbene questo copra la quasi totalità dei casi in cui vogliamo eseguire delle somme, esistono casi in cui vogliamo sommare altri tipi di dati. Nell'esempio vediamo come creare un overload del metodo Sum che permette di sommare oggetti di tipo TimeSpan.
public static TimeSpan Sum<T>(this IEnumerable<T> source, Func<T, TimeSpan> selector) { return source.Select(selector).Aggregate(TimeSpan.Zero, (t1, t2) => t1 + t2); }
Il metodo è abbastanza semplice e lavora in due fasi. Nella prima fase scorre gli oggetti nella lista recuperando la proprietà di tipo Timespan espressa nella lambda in input. Nella seconda fare sfrutta il metodo Aggregate per sommare gli oggetti TimeSpan. Il risultato della chiamata al metdo Sum è un altro oggetto TimeSpan con la somma.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Creare una libreria CSS universale: Clip-path
Creare agenti facilmente con Azure AI Agent Service
Creare un agente A2Acon Azure Logic Apps
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Creare una libreria CSS universale: Nav menu
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Abilitare automaticamente il force push di un gruppo su Azure DevOps
Loggare le query più lente con Entity Framework
Eseguire una ricerca avanzata per recuperare le issue di GitHub
Generare una User Delegation SAS in .NET per Azure Blob Storage
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Integrare un servizio esterno con .NET Aspire
I più letti di oggi
- Analizzare il contenuto di una issue con GitHub Models e AI
- .NET Conference Italia 2025 - Milano
- Usare la libreria PredicateBuilder per eseguire query tramite Entity Framework che usano or su più campi
- Integrare OpenAI tramite Aspire
- Definire il colore di una scrollbar HTML tramite CSS
- The Agentic Day - Milano