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
。这确实帮助我理解延迟执行。非常感谢!这澄清了我的困惑。