相关疑难解决方法(0)

foreach只执行一次查询吗?

我有一个项目列表和LINQ查询.现在,使用LINQ的延迟执行,后续的foreach循环是否只执行一次查询或循环中的每次转弯?

给出这个例子(取自LINQ查询简介(C#),在MSDN上)

    // The Three Parts of a LINQ Query: 
    //  1. Data source. 
    int[] numbers = new int[7] { 0, 1, 2, 3, 4, 5, 6 };

    // 2. Query creation. 
    // numQuery is an IEnumerable<int> 
    var numQuery =
        from num in numbers
        where (num % 2) == 0
        select num;

    // 3. Query execution. 
    foreach (int num in numQuery)
    {
        Console.Write("{0,1} ", num);
    }
Run Code Online (Sandbox Code Playgroud)

或者,换句话说,如果我有以下情况会有什么不同:

    foreach (int num in numQuery.ToList())
Run Code Online (Sandbox Code Playgroud)

而且,如果底层数据不在数组中,而是在数据库中,这是否重要?

c# linq tolist

20
推荐指数
2
解决办法
4992
查看次数

标签 统计

c# ×1

linq ×1

tolist ×1