Procedura: archiviare i risultati di una query in memoria (Guida per programmatori C#)
Una query è fondamentalmente un insieme di istruzioni per il recupero e l'organizzazione dei dati. L'esecuzione della query richiede una chiamata al metodo GetEnumerator. Questa chiamata viene eseguita quando si utilizza un ciclo foreach per scorrere gli elementi. Per archiviare i risultati in qualsiasi momento prima o dopo avere eseguito il ciclo foreach, è sufficiente chiamare uno dei metodi seguenti sulla variabile della query:
Quando si archiviano i risultati della query, si consiglia di assegnare l'oggetto insieme restituito a una nuova variabile come illustrato nell'esempio seguente:
Esempio
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();
}
}
Compilazione del codice
Creare un progetto Visual Studio per .NET Framework versione 3.5. Per impostazione predefinita, il progetto include un riferimento a System.Core.dll e una direttiva using per lo spazio dei nomi System.Linq.
Copiare il codice nel progetto.
Premere F5 per compilare ed eseguire il programma.
Premere un tasto per chiudere la finestra della console.