Filtrare e selezionare dati di prodotti con LINQ in C#
In questa lezione costruirai una catena di query LINQ per filtrare, ordinare e ottenere i nomi dei prodotti che soddisfano una condizione.
Introduzione
Una query LINQ può combinare più passaggi, come filtrare, ordinare e selezionare i dati (proiezione), in una catena continua. L'importante è che la query non modifica la lista originale: produce solo un nuovo risultato.
Where tiene i prodotti con prezzo da 20 in su, OrderBy li ordina per prezzo crescente e Select prende solo il nome di ogni prodotto. Il risultato è Book, Bag, mentre l'array products originale contiene ancora tutti e tre i prodotti.
Esempio C# eseguibile
using System;
using System.Linq;
record Product(string Name, decimal Price);
class Program
{
static void Main()
{
var products = new[] { new Product("Book", 30), new Product("Pen", 5), new Product("Bag", 45) };
var names = products.Where(p => p.Price >= 20).OrderBy(p => p.Price).Select(p => p.Name);
Console.WriteLine(string.Join(", ", names));
}
}
Book, BagEsercitati con il debugger
Esercitati con una sfida
Usa ciò che questa lezione spiega per risolvere un problema reale. Ogni sfida gira nel browser, con test immediati e una revisione dell'IA.
- Ordinare per una chiave scelta Ordina le persone per nome o per età con un comparatore scelto a runtime, risolvendo i pareggi in modo coerente. Facile
- Above-Average Values Keep the values that are greater than the average. Facile