Utilisation simple de LINQ avec C#

Introduit dans le Framework .NET 3.0, LINQ (Language Integrated Query) est utilisé pour récupérer ou modifier des données. LINQ introduit des modèles pour interroger un objet, une base de données, un fichier XML et les données ADO.NET. Ainsi, vous pouvez écrire des requêtes puissantes directement à partir du langage C#. Vous pouvez créer des requêtes de filtrage, de classement ou de regrouppement de données.

Exemple 1

L'exemple suivant permet de récupérer les données dans un Array de string.

string[] strMake = { "Acura", "Chevrolet", "Mazda", "Toyota", "Nissan", "Honda" };

var make = from x in strMake
           where x.Length > 5
           orderby x
           select x;

foreach (string s in make)
    Response.Write(s);

Le résultatest : ChevroletNissanToyota

Une requête LINQ retourne un résultat de type IEnumerabe. La valeur "T" équivaut au type de l'objet utilisé dans la requête. L'exemple ci-haut retourne un objet de type "string".

Exemple 2

LINQ propose une interface pour pouvoir faire des requêtes à partir d'un objet. Voici un exemple simple de son utilisation :

public class Car
{
    public string Make { get; set; }
    public string Model { get; set; }
    public int Year { get; set; }
}

IList lstCar = new List
                        {
                            new Car {Make = "Honda", Model = "Accord", Year = 2011},
                            new Car {Make = "Acura", Model = "TSX", Year = 2010},
                            new Car {Make = "Toyota", Model = "Camry", Year = 2009},
                            new Car {Make = "Honda", Model = "Civic", Year = 2007},
                            new Car {Make = "Mazda", Model = "6", Year = 2008},
                            new Car {Make = "Nissan", Model = "Sentra", Year = 2002}
                        };
var cars = from x in lstCar
            where x.Year >= 2008
            orderby x.Make, x.Model
            select x;

foreach (Car c in cars)
    Response.Write(c.Make + " " + c.Model + " " + c.Year.ToString() + "
");

Résultat :
Acura TSX 2010
Honda Accord 2011
Mazda 6 2008
Toyota Camry 2009

Plus d'exemples seront disponibles plus tard...

À propos

Je suis un développeur web. Je m'intéresse également à l'optimisation de site pour les moteurs de recherche (SEO). Sur ce site, vous trouverez des trucs, conseils, tutoriels pour vous aider à développer  des applications web à l'aide de : ASP.NET, ASP.NET MVC, jQuery, Javascript et plus. De plus, je vous tiendrai au courant des nouveautés sur le web.

Pages