我有两个函数func1()
和func2()
.这两个函数都使用LINQ查询.我有一个问题,为什么这两个函数不遵循相同的方法.为什么一个人会产生空洞的结果,而另一个人不会,反之亦然.
static void func1()
{
IEnumerable<char> s = "I am Tommy Shelby";
var query = s.Where(x => x != 'a');
s = "";
foreach (var item in query)
{
Console.Write(item);
}
}
static void func2()
{
List<int> num = new List<int> { 1, 2, 3, 4 };
var query2 = num.Where(x => x % 2 == 0);
num.Clear();
foreach (var item in query2)
{
Console.Write(item);
}
}
目前:
func1() -> I m Tommy Shelby
func2() ->
有人能帮我理解一下Linq延迟执行是如何在一个地方而不是在另一个地方发生的吗?