Share via


Comment : stocker les résultats d'une requête dans la mémoire (Guide de programmation C#)

Mise à jour : novembre 2007

Fondamentalement, une requête est un jeu d'instructions sur la récupération et l'organisation de données. L'exécution de la requête requiert un appel à sa méthode GetEnumerator. Cet appel est effectué lorsque vous utilisez une boucle foreach pour parcourir les éléments. Pour stocker les résultats à tout moment avant ou après avoir exécuté la boucle foreach, appelez simplement l'une des méthodes suivantes sur la variable de requête :

Lorsque vous stockez les résultats de la requête, nous vous recommandons d'assigner l'objet de collection retourné à une nouvelle variable comme indiqué dans l'exemple suivant :

Exemple

class StoreQueryResults
{
    static List<int> numbers = new List<int>() { 1, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 };
    static void Main()
    {

        IEnumerable<int> queryFactorsOfFour =
            from num in numbers
            where num % 4 == 0
            select num;

        // Store the results in a new variable
        // without executing a foreach loop.
        List<int> factorsofFourList = queryFactorsOfFour.ToList();

        // Iterate the list just to prove it holds data.
        foreach (int n in factorsofFourList)
        {
            Console.WriteLine(n);
        }

        // Keep the console window open in debug mode.
        Console.WriteLine("Press any key");
        Console.ReadKey();
    }
}

Compilation du code

  • Créez un projet Visual Studio qui cible la version 3.5 du .NET Framework. Par défaut, le projet possède une référence à System.Core.dll et une directive using pour l'espace de noms System.Linq.

  • Copiez le code dans votre projet.

  • Appuyez sur F5 pour compiler et exécuter le programme.

  • Appuyez sur n'importe quelle touche pour quitter la fenêtre de console.

Voir aussi

Concepts

Expressions de requête LINQ (Guide de programmation C#)