【发布时间】:2010-09-21 19:53:47
【问题描述】:
可能重复:
How does foreach work when looping through function results?
标题包含问题的核心。这是一个示例场景,可以进一步充实它。
foreach(something thing in GetSomethings())
{ dosomething }
假设 GetSomethings 有副作用。 GetSomethings 会执行一次,还是会在每次循环迭代时执行?
【问题讨论】:
-
请停止回答这个重复的问题。
-
@anna 李尔;这当然是一个重复的问题。标题可能比简单的“迭代时 foreach 是如何工作的”更简洁一些。
-
我注意到这个问题对自己来说是微不足道的;只需让 GetSomethings 返回一个包含十个元素的集合并打印到控制台。如果打印一次,则获取一次。如果它打印十次,那么每次迭代都会获取一次。