Filtrer et sélectionner des données de produits avec LINQ en C#
Dans cette leçon, vous allez construire une chaîne de requêtes LINQ pour filtrer, trier et extraire le nom des produits qui remplissent une condition.
Introduction
Une requête LINQ peut enchaîner plusieurs étapes, comme le filtrage, le tri et la sélection des données (projection), en un traitement continu. L'important est que la requête ne modifie pas la liste d'origine : elle produit seulement un nouveau résultat.
Where garde les produits dont le prix est d'au moins 20, OrderBy les trie par prix croissant et Select n'en extrait que le nom. Le résultat est Book, Bag, alors que le tableau products d'origine contient toujours les trois produits.
Exemple C# exécutable
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, BagS'entraîner avec le débogueur
S'entraîner avec un défi
Utilisez le contenu de cette leçon pour résoudre un vrai problème. Chaque défi s'exécute dans le navigateur, avec des tests instantanés et une revue par l'IA.
- Trier selon une clé choisie Trier des personnes par nom ou par âge avec un comparateur choisi à l'exécution, en départageant les égalités de façon cohérente. Facile
- Above-Average Values Keep the values that are greater than the average. Facile