方法 : クエリの結果をメモリに格納する (C# プログラミング ガイド)
基本的に、クエリは、データの取得方法と編成方法を指示するための一連の命令です。 クエリを実行するには、GetEnumerator メソッドを呼び出す必要があります。 この呼び出しは、foreach ループを使用して要素を反復処理する際に行います。 クエリを評価し、foreach のループを実行せずに結果を格納するには、クエリ変数で次のメソッドを 1 回を呼び出します:
クエリ結果を格納するときは、次の例に示すように、返されたコレクション オブジェクトを新しい変数に代入することをお勧めします。
使用例
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();
}
}
コードのコンパイル
.NET Framework Version 3.5 を対象とする Visual Studio プロジェクトを作成します。 既定では、プロジェクトには、System.Core.dll への参照と、System.Linq 名前空間に対する using ディレクティブが含まれます。
コードをプロジェクト内にコピーします。
F5 キーを押して、プログラムをコンパイルおよび実行します。
任意のキーを押して、コンソール ウィンドウを終了します。