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.