Partager via


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

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 itérer au sein des éléments. Évaluer une requête et stocker ses résultats sans exécuter une boucle d' 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 une touche pour quitter la fenêtre de console.

Voir aussi

Concepts

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