创建一个类型的对象IEnumerable<T>
(例如下面代码示例中的numbers
类型的对象IEnumerable<int>
)是否意味着在堆上创建一个最终需要被垃圾收集的对象?
例如,考虑本博客文章中描述的以下迭代器
IEnumerable<int> GetOneTwoThree() {
yield return 1;
yield return 2;
yield return 3;
}
然后使用它
var numbers = GetOneTwoThree();
foreach (var number in numbers) {
Console.WriteLine(number);
}