Aller au contenu

Exécution différée vs immédiate

Contexte : Les requêtes LINQ ne sont pas exécutées lors de leur définition, mais lors de leur itération (exécution différée). Certains opérateurs forcent l’exécution immédiate.

int[] numbers = { 1, 2, 3 };
var query = numbers.Where(n => n > 1); // pas encore exécutée
numbers[0] = 10; // modifie la source
foreach (var n in query) // exécutée maintenant, utilise les données mises à jour
{
Console.WriteLine(n); // 10,2,3
}

Vues de données en direct : L’exécution différée permet de définir une requête qui reflète toujours les dernières données (par exemple, filtrer une collection en direct).

Exemple : Dans Blazor, vous pouvez lier une liste d’interface utilisateur à une requête différée qui se met à jour lorsque la source change.