Syntaxe de requête et syntaxe de méthode
Écrivez le même LINQ avec la syntaxe de requête ou la syntaxe de méthode ; observez la traduction par le compilateur et apprenez quand choisir chaque style.
Syntaxe de requête et syntaxe de méthode 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.
Deux syntaxes
Deux formes de LINQ :
- Syntaxe des méthodes : xs.Where(...).Select(...)
- Syntaxe des requêtes : from x in xs where ... select ...
- Elles sont équivalentes pour la plupart des opérateurs.
Syntaxe des méthodes
La syntaxe des méthodes enchaîne des méthodes d’extension telles que Where et Select.
using System;
using System.Linq;
public class Program
{
public static void Main(string[] args)
{
string[] words = new string[] { "dog", "tiger", "ant", "eagle" };
var result = words
.Where(w => w.Length >= 4)
.Select(w => w.ToUpper());
foreach (string w in result) Console.WriteLine(w);
}
}
Syntaxe des requêtes
La syntaxe des requêtes se lit comme SQL : from, where, select. Le compilateur les transforme en appels de méthodes.
using System;
using System.Linq;
public class Program
{
public static void Main(string[] args)
{
string[] words = new string[] { "dog", "tiger", "ant", "eagle" };
var query =
from w in words
where w.Length >= 4
select w.ToUpper();
foreach (string w in query) Console.WriteLine(w);
}
}
Tri avec les deux styles
Les deux styles prennent en charge le filtrage, le tri et la sélection. Ils produisent les mêmes résultats.
using System;
using System.Linq;
public sealed class City
{
public string Name;
public int Pop;
public City(string name, int pop) { Name = name; Pop = pop; }
}
public class Program
{
public static void Main(string[] args)
{
City[] cities = new City[]
{
new City("Rome", 2873000),
new City("Oslo", 634000),
new City("Riga", 605000),
new City("Rio", 6748000)
};
// Method
var m = cities
.Where(c => c.Pop >= 700000)
.OrderBy(c => c.Name)
.Select(c => c.Name);
// Query
var q =
from c in cities
where c.Pop >= 700000
orderby c.Name ascending
select c.Name;
foreach (string name in m) Console.WriteLine(name);
Console.WriteLine("---");
foreach (string name in q) Console.WriteLine(name);
}
}
Mélanger les styles
Tous les opérateurs n’ont pas de mot-clé de requête. Il est courant de mélanger les styles : écrivez une requête, puis appelez Count, Skip, Take ou ThenBy.
using System;
using System.Linq;
public class Program
{
public static void Main(string[] args)
{
int[] data = new int[] { 5, 3, 9, 1, 7, 2, 8 };
// Query + method mix: query part, then Count() method
var q =
from n in data
where n > 3
select n;
int howMany = q.Count(); // no query keyword for Count
Console.WriteLine("Count >3 = " + howMany);
// Paging usually uses method syntax
var page = data.OrderBy(n => n).Skip(2).Take(3);
foreach (int x in page) Console.WriteLine(x);
}
}
Quand utiliser chaque style
Recommandations :
- Utilisez la syntaxe des méthodes pour les chaînes courtes et lorsque certains opérateurs n’ont pas de mots-clés de requête.
- Utilisez la syntaxe des requêtes lorsqu’elle se lit mieux pour un filtrage ou un tri en plusieurs étapes.
- Mélangez-les si nécessaire ; elles sont équivalentes.
Vérité sur les requêtes et les méthodes
Récapitulatif
Récapitulatif : la syntaxe des requêtes et la syntaxe des méthodes sont deux façons de représenter le même LINQ. Choisissez le style qui se lit le mieux et mélangez-les lorsque certains opérateurs n’ont pas de mots-clés de requête.
Questions Fréquemment Posées
La leçon « Syntaxe de requête et syntaxe de méthode » est-elle gratuite ?
Oui — le texte complet de « Syntaxe de requête et syntaxe de méthode » 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 « Syntaxe de requête et syntaxe de méthode » ?
Écrivez le même LINQ avec la syntaxe de requête ou la syntaxe de méthode ; observez la traduction par le compilateur et apprenez quand choisir chaque style. 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 « Syntaxe de requête et syntaxe de méthode » ?
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
- Pipelines IEnumerable et exécution différée
- Select, Where, OrderBy et Take/Skip
- Syntaxe de requête et syntaxe de méthode