giovedì 28 novembre 2024

C# e .Net il nuovo metodo Linq CountBy

Nella versione .Net 9,  in Linq è stato aggiunto un nuovo metodo denominato "CountBy", questo metodo raggruppa gli elementi e fa la conta per quanti elementi sono presenti in base alla condizione che si mette nel metodo.

Con questo metodo viene semplificata l'operazione di raggruppamento che nelle precedenti versioni del .Net si facevano tramite il metodo GroupBy.

Di seguito si riporta un esempio di tale utilizzo.

Classe:
 

public class Anagrafica()

{

    public string Nome { get  ; set ; }

    public string Cognome { get; set; }

    public string Ruolo { get; set; }


}



Utilizzo:

Nuovo metodo CountBy:

var risultato = persone.CountBy(persone => persone.Ruolo);

 //Restituisce

 //Ruolo: Impiegato Totali elementi: 3

 //Ruolo: Direttore Totali elementi: 1

 //Ruolo: Funzionario Totali elementi: 2

 foreach (var elemento in risultato) {

     Debug.WriteLine("Ruolo: " + elemento.Key + " Totali elementi: " + elemento.Value);

 }



In precedenza:

//Precedenti versioni

var contaPersone = persone

    .GroupBy(persona => persona.Ruolo)

    .Select(group => new { Ruolo = group.Key, Totali = group.Count() });

            

foreach (var personaConteggio in contaPersone)

{

    Debug.WriteLine($"Ruolo: {personaConteggio.Ruolo}, Totali elementi: {personaConteggio.Totali}");

}











Nessun commento: