Supponiamo di avere una classe di tipo persona, con proprietà quali nome, cognome ed età, e vogliamo estrapolare da una lista di questa classe, quello che ha l'età maggiore. In una espressione lambada, avremmo ottenuto il valore massimo con il metodo Max, mentre con il metodo MaxBy otteniamo l'oggetto che ha il valore massimo di una proprietà.
Qui di seguito un esempio pratico.
List<Persona> persone = new List<Persona>();
Persona persona = new Persona();
persona.Cognome = "Mattei";
persona.nome = "Emanuele";
persona.eta = 1;
persone.Add(persona);
persona = new Persona();
persona.Cognome = "Cristaldi";
persona.nome = "Luigi";
persona.eta = 2;
persone.Add(persona);
persona = new Persona();
persona.Cognome = "Bianchi";
persona.nome = "Luca";
persona.eta = 3;
persone.Add(persona);
var risultato = persone.MaxBy(x => x.eta); //Restituisce l'oggetto Bianchi Luca
var risultato2 = persone.Max(x => x.eta); //Restituisce 3
Oltre al metodo MaxBy è possibile utilizzare i nuovi metodi in .Net 6 che sono MinBy(), DistinctBy(), UnionBy(), IntersectBy(), ExceptBy()
Nessun commento:
Posta un commento