在一个产生惰性列表的方法中,如果我什么都不返回会发生什么?
本文关键字:什么 如果 返回 一个 列表 方法 | 更新日期: 2023-09-27 18:06:45
看来这段代码是有效的。我想知道如果getTest(1)
IEnumerable<int> getTest(int n)
{
if (n == 0)
yield return 1;
else
;
}
它将返回一个空但非空的IEnumberable<int>
。
一旦你将一个方法标记为迭代器(通过在方法的任何地方使用yield
),它可以执行 0个或多个 yield return
s来返回序列中的数据。
实际上,获取空IEnumberable的最简单方法是IEnumerable<T> Empty() { yield break; }
。
或者直接调用Enumerable.Empty<T>()
它只是返回一个空的,但完全"有效"的枚举对象。