💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# 如何:在内存中存储查询结果(C# 编程指南) 查询基本上是一组有关如何检索和组织数据的指令。若要执行查询,需要调用它的 [GetEnumerator](https://msdn.microsoft.com/zh-cn/library/s793z9y2.aspx) 方法。当您使用 **foreach** 循环来循环访问元素时,将执行此调用。若要计算查询和存储其结果,而不执行 **foreach** 循环,请对查询变量调用下列方法之一: * [ToList&lt;TSource&gt;](https://msdn.microsoft.com/zh-cn/library/bb342261.aspx) * [ToArray&lt;TSource&gt;](https://msdn.microsoft.com/zh-cn/library/bb298736.aspx) * [ToDictionary&lt;TSource, TKey, TElement&gt;](https://msdn.microsoft.com/zh-cn/library/bb548657.aspx) * [ToLookup&lt;TSource, TKey, TElement&gt;](https://msdn.microsoft.com/zh-cn/library/bb549211.aspx) 建议在存储查询结果时,将返回的集合对象分配给一个新变量,如下面的示例所示: ``` 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 3.5 版的 Visual Studio 项目。默认情况下,该项目具有一个对 System.Core.dll 的引用以及一条针对 System.Linq 命名空间的 **using** 指令。 * 将代码复制到项目中。 * 按 F5 编译并运行程序。 * 按任意键退出控制台窗口。 ## 请参阅 [LINQ 查询表达式(C# 编程指南)](https://msdn.microsoft.com/zh-cn/library/bb397676.aspx)