IMongoCollection<JobInfoRecord> records = ...
foreach (var record in records.Find(query).ToListAsync().Result)
{...}
foreach迭代是否一次又一次地计算.Result
值?
答案 0 :(得分:1)
不,它会评估records.Find(query).ToListAsync().Result
一次,然后在结果上调用GetEnumerator
。然后每个循环将在返回的&#34;枚举器&#34;上调用MoveNext
。并将record
设置为&#34;枚举器&#34;的Current
属性MoveNext
返回false
时,循环中断。