【发布时间】:2011-07-14 08:20:37
【问题描述】:
假设SomeMethod有签名
public IEnumerable<T> SomeMethod<T>();
有什么区别
foreach (T tmp in SomeMethod<T>()) { ... }
和
IEnumerable<T> result = SomeMethod<T>();
foreach (T tmp in result) { ... }
换句话说,SomeMethod<T> 的结果是缓存在第一个语句中还是会在每次迭代时进行评估?
【问题讨论】:
标签: c# ienumerable