我几乎知道这是不可能和毫无意义的,但只是想学习..我有:
public IEnumerable<IEnumerable<object>> GetMany()
{
while (someCondition)
yield return GetFew();
}
static IEnumerable<object> GetFew()
{
while (someOtherCondition)
yield return new object();
}
我可以将两者结合起来形成一种方法吗?两个不同的迭代器块可以存在于一种方法中吗?
编辑:我不是在问如何解决我手头的问题。我正在尝试学习新东西,所以更大的问题是“有一种方法可以使两个单独的块在一个功能中工作”?我问是因为 C# 中有匿名类型和闭包,您可以在方法本身内部定义一些新的东西,而无需命名类型或方法。同样适用于块?