C# Academy · Leçon

Aperçu de LINQ : Where, Select, OrderBy, Take/Skip ; exécution différée

Construisez de petits pipelines LINQ sur IEnumerable : filtrez avec Where, transformez avec Select, triez avec OrderBy et découvrez la différence entre exécution différée et matérialisation.

Leçon 3 sur 38 étapes

Aperçu de LINQ : Where, Select, OrderBy, Take/Skip ; exécution différée est une leçon C# Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 3. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage C# Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours C# Academy comprend 3 leçons au total.

Présentation de LINQ

Objectif : utiliser de petites chaînes de traitement LINQ pour filtrer, transformer et trier les données.

  • Where (filtrage)
  • Select (transformation)
  • OrderBy, Take/Skip
  • Exécution différée et matérialisation

Where et Select

Enchaînez Where (filtrage), puis Select (transformation). Lisez l'enchaînement de gauche à droite.

using System;
using System.Linq;

public class Program
{
  public static void Main(string[] args)
  {
    int[] data = new int[] { 1, 2, 3, 4, 5, 6 };

    // Filter even numbers, then square them
    var query = data.Where(x => x % 2 == 0)
                    .Select(x => x * x);

    foreach (int n in query)
    {
      Console.WriteLine(n); // 4, 16, 36
    }
  }
}

OrderBy et Take

Triez avec OrderBy et éventuellement ThenBy, puis limitez le résultat avec Take.

using System;
using System.Linq;

public class Program
{
  public static void Main(string[] args)
  {
    string[] names = new string[] { "Zoe", "Ada", "Alan", "Bob" };

    var top2 = names.OrderBy(s => s.Length) // shortest first
                    .ThenBy(s => s)         // tie-breaker
                    .Take(2);

    foreach (string s in top2)
    {
      Console.WriteLine(s); // Ada, Bob
    }
  }
}

Projection (type anonyme)

Select peut créer des objets anonymes pour modifier rapidement la forme des données (Word, Length).

using System;
using System.Linq;

public class Program
{
  public static void Main(string[] args)
  {
    string[] words = new string[] { "map", "filter", "reduce" };

    var info = words.Select(w => new { Word = w, Length = w.Length });

    foreach (var x in info)
    {
      Console.WriteLine(x.Word + " (" + x.Length + ")");
    }
  }
}

Exécution différée

Différée : la requête s'exécute lorsque vous la parcourez. Les modifications apportées à la source avant le parcours influencent les résultats.

using System;
using System.Linq;
using System.Collections.Generic;

public class Program
{
  public static void Main(string[] args)
  {
    List<int> numbers = new List<int> { 1, 2, 3 };

    var q = numbers.Where(x => x > 1); // not executed yet

    numbers.Add(4); // modify source before enumeration

    foreach (int x in q) // executes here
    {
      Console.WriteLine(x); // 2, 3, 4
    }
  }
}

Matérialisation et syntaxe

Utilisez ToList/ToArray pour exécuter la requête et stocker les résultats. La syntaxe de requête est une autre façon d'écrire la même chaîne de traitement.

using System;
using System.Linq;

public class Program
{
  public static void Main(string[] args)
  {
    int[] data = new int[] { 3, 1, 2 };

    // Method syntax + materialize
    var sorted = data.OrderBy(x => x).ToList(); // executes now
    data[0] = 100; // will not affect 'sorted' (already materialized)

    foreach (int n in sorted) { Console.WriteLine(n); } // 1,2,3

    // Query syntax (equivalent)
    var query =
      from x in data
      where x < 50
      select x * 2;

    foreach (int n in query) { Console.WriteLine(n); } // 2,4
  }
}

Signification de l'exécution différée

Vérification rapide : que signifie le fait que la plupart des opérateurs LINQ soient différés ?

Récapitulatif

Récapitulatif : construisez des chaînes de traitement avec Where, Select, OrderBy et Take/Skip. LINQ est différé : matérialisez les résultats avec ToList/ToArray lorsque vous avez besoin de résultats stables.

Gratuit pour commencer

Apprends C# avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
93
Leçons
346

Questions Fréquemment Posées

La leçon « Aperçu de LINQ : Where, Select, OrderBy, Take/Skip ; exécution différée » est-elle gratuite ?

Oui — le texte complet de « Aperçu de LINQ : Where, Select, OrderBy, Take/Skip ; exécution différée » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours C# Academy, passe à CoddyKit PRO. Le cours C# Academy comprend 3 leçons au total.

Qu'est-ce que j'apprendrai dans « Aperçu de LINQ : Where, Select, OrderBy, Take/Skip ; exécution différée » ?

Construisez de petits pipelines LINQ sur IEnumerable : filtrez avec Where, transformez avec Select, triez avec OrderBy et découvrez la différence entre exécution différée et matérialisation. Tu pratiques C# Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer C# Academy ?

Aucune expérience préalable n'est requise. C# Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 3.

Combien de temps prend la leçon « Aperçu de LINQ : Where, Select, OrderBy, Take/Skip ; exécution différée » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon C# Academy ?

Oui. Chaque leçon C# Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Tableaux, tranches, List , Dictionary
  2. Modèles foreach et initialiseurs de collections
  3. Aperçu de LINQ : Where, Select, OrderBy, Take/Skip ; exécution différée
← Retour à C# Academy