How to: Armazenar os Resultados de uma consulta na memória (guia de programação de C#)
Uma consulta é basicamente um conjunto de instruções sobre como recuperar e organizar dados. Para executar a consulta exige uma chamada para seu GetEnumerator método. Essa chamada é feita quando você usa um foreach o loop para iterar sobre elementos. Para armazenar os resultados a qualquer momento antes ou depois de executar o foreach loop, basta chamar um dos seguintes métodos na variável de consulta:
Recomendamos que quando você armazena os resultados da consulta, você atribuir o objeto da coleção retornada a uma nova variável conforme mostrado no exemplo a seguir:
Exemplo
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();
}
}
Compilando o código
Criar um projetoVisual Studio que se destina a.NET Framework versão 3.5. Por padrão, o projeto tem uma referência a System.Core.dll e um using a diretiva para o namespace System. LINQ.
Copie o código para o seu projeto.
Pressione F5 para compilar e executar o programa.
Pressione qualquer tecla para sair da janela do console.