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.
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
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.
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
- Tableaux, tranches, List , Dictionary
- Modèles foreach et initialiseurs de collections
- Aperçu de LINQ : Where, Select, OrderBy, Take/Skip ; exécution différée