LINQ (Language-Integrated Query) est une technologie incluse dans le Framework 3.5 permettant d’écrire des requêtes directement dans les langages C#, VB.NET, ou tout autre langage .NET. Il existe de multiples tournures de LINQ, pour des sources de données différentes (LINQ to Object, LINQ to XML, LINQ to SQL…)
Dans cet exemple nous allons voir comment faire des requêtes sur des collections d’objets.
1: // Collection de départ
2: List<Int32> lst = new List<Int32>() { 1, 1, 2, 5, 5, 6, 7, 7, 9, 10, 10 };
3: // Création d’une nouvelle collection
4: // . Nous souhaitons récupérer uniquement les valeurs
5: // . distinctes de la collection de départ supérieures à 5
6: // . dans l’ordre décroissant
7: IEnumerable<Int32> tmp = from i in lst.Distinct<int32>()
8: where i > 5
9: orderby i descending
10: select i;
11:
12: // On affiche les résultats
13: foreach (Int32 i in tmp)
14: Console.WriteLine(i);
15:
16: // Résultat :
17: // . 10
18: // . 9
19: // . 7
20: // . 6
Lien MSDN : http://msdn2.microsoft.com/fr-fr/library/bb397676.aspx