Quando abbiamo a disposizione una lista di numeri, trovare il valore più basso o quello più alto è molto semplice grazie rispettivamente ai metodi LINQ Min e Max. La cosa si complica leggermente quando abbiamo una lista di oggetti complessi e dobbiamo trovare quello che ha una proprietà che corrisponde al valore massimo o minimo. Supponiamo di avere una lista di persone e di voler trovare il più giovane. Per fare questo, dobbiamo prima ordinare la lista in base alla data di nascita (in ordinamento discendente), e poi recuperare il primo elemento.
var l = new List<Person>(); l.Add(new Person { FirstName = "Stefano", LastName = "Mostarda", BirthDate = new DateTime(2000, 1, 1) }); l.Add(new Person { FirstName = "Mario", LastName = "Rossi", BirthDate = new DateTime(2001,1, 1) }); l.Add(new Person { FirstName = "Ciro", LastName = "Esposito", BirthDate = new DateTime(2005, 1, 1) }); l.Add(new Person { FirstName = "Luigi", LastName = "Bianchi", BirthDate = new DateTime(2007, 1, 1) }); Console.WriteLine(l.OrderByDescending(c => c.BirthDate).First());
I nuovi metodi MaxBy e MinBy ci permettono di semplificare il codice concentrando in un solo metodo OrderBy e First.
Console.WriteLine(l.MaxBy(c => c.BirthDate).FirstName);
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Definire stili a livello di libreria in Angular
Utilizzare QuickGrid di Blazor con Entity Framework
Supportare il sorting di dati tabellari in Blazor con QuickGrid
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Eseguire attività pianificate con Azure Container Jobs
Utilizzare Azure Cosmos DB con i vettori
Esportare ed analizzare le issue di GitHub con la CLI e GraphQL
Usare il colore CSS per migliorare lo stile della pagina
Creazione di plugin per Tailwind CSS: espandere le funzionalità del framework dinamicamente
Eseguire query manipolando le liste contenute in un oggetto mappato verso una colonna JSON
Potenziare Azure AI Search con la ricerca vettoriale
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework