C# 什么是;直到它';s的已实现值是必需的”;延期执行意味着什么?

C# 什么是;直到它';s的已实现值是必需的”;延期执行意味着什么?,c#,deferred-execution,C#,Deferred Execution,我只是想知道。并且一直在寻找延期执行。这里说,延迟执行意味着表达式的计算被延迟,直到实际需要它的实现值。 “直到实际需要其实现价值”是什么意思?是否有实现价值的方法或属性?就像.ToList() 希望您能理解我的意思。查询的执行会延迟到实际枚举查询为止。一个foreach循环或调用.ToList()将强制执行查询。延迟执行用于表示在迭代IQueryable之前不会触发任何数据库查询 比如说 var employees = db.Employees.Where(x=>x.FirstN

我只是想知道。并且一直在寻找延期执行。这里说,
延迟执行意味着表达式的计算被延迟,直到实际需要它的实现值。

“直到实际需要其实现价值”是什么意思?是否有实现价值的方法或属性?就像
.ToList()


希望您能理解我的意思。

查询的执行会延迟到实际枚举查询为止。一个
foreach
循环或调用
.ToList()
将强制执行查询。

延迟执行用于表示在迭代IQueryable之前不会触发任何数据库查询

比如说

    var employees = db.Employees.Where(x=>x.FirstName == "Krish"); //No query issued
var count = employees.Count(); // now a query is issued

我懂了。现在清楚多了。但是除了
.ToList()
First()
Count()
,还有其他方法吗?--任何从序列中产生值的方法。返回计算值的任何Linq方法也将执行查询,例如
Count()
Sum()
Min()
Max()
,每个立即执行的查询都将触发延迟执行。通常方法不返回
IEnumerable
。这确实帮助我理解延迟执行。非常感谢!这澄清了我的困惑。