Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi

di Stefano Mostarda, in LINQ,

Quando si lavora con le liste, un'operazione molto frequente consiste nel contare il numero di elementi con una certa caratteristica. Ad esempio, si possono contare le persone raggruppate per età o per anno di nascita, oppure le automobili per marca o altro ancora. Fino a .NET 8, questa operazione può essere fatta tramite LINQ esclusivamente raggruppando prima le persone e poi contando gli elementi nei gruppi.

var x = people
  .GroupBy(c => c.Age)
  .Select(c => new {c.Key, c.Count() })
  .ToList();

Sebbene questo codice sia semplice, .NET 9 introduce il metodo CountBy che rende il codice ancora più semplice. Infatti questo metodo ci fa specificare semplicemente la chiave di raggruppamento e poi torna una lista di KeyValuePair dove la chiave è il valore di raggruppamento e il valore è il numero di elementi per il valore.

var x = people
  .CountBy(c => c.Age)
  .ToList();

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi