Cómo: Almacenar los resultados de una consulta en la memoria (Guía de programación de C#)

Una consulta es básicamente un conjunto de instrucciones sobre cómo recuperar y organizar datos. Para ejecutarse, la consulta requiere una llamada a su método GetEnumerator. Esta llamada se realiza al utilizar un bucle foreach para procesar una iteración en los elementos. Para evaluar una consulta y almacenar los resultados sin ejecutar un bucle de foreach, simplemente llame a uno de los métodos siguientes en la variable de consulta:

Cuando almacene los resultados de la consulta, se recomienda que asigne el objeto de colección devuelto a una nueva variable, como se muestra en el ejemplo siguiente:

Ejemplo

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();
    }
}

Compilar el código

  • Cree un proyecto de Visual Studio para la versión 3.5 de .NET Framework. De manera predeterminada, el proyecto incluye una referencia a System.Core.dll y una directiva using para el espacio de nombres System.Linq.

  • Copie el código en el proyecto.

  • Presione F5 para compilar y ejecutar el programa.

  • Presione cualquier tecla para salir de la ventana de consola.

Vea también

Conceptos

Expresiones de consultas LINQ (Guía de programación de C#)