C#Ienumerable yield and foreach


C# Enumerable yield and foreach

今天的教授让我们在课堂上解决这个问题。有人能帮我解决这个问题吗?我迷路了……

这个练习和下一个练习的目的是强调可枚举和yield和foreach语句。声明一个泛型静态方法Flatten,该方法将EDOCX1的数组(0)作为参数,并返回IEnumerable。使用foreach语句和yield返回语句。方法应该有这个标题:

1
public static IEnumerable<T> Flatten<T>(IEnumerable<T>[] ebles) { ... }

如果调用如下所示的方法,则应获得2 3 5 7 2 3 5 7 2 3 5 7 2 3 5 7:

1
2
3
4
IEnumerable<int>[] ebles = new IEnumerable<int>[3];
ebles[0] = ebles[1] = ebles[2] = new int[] { 2, 3, 5, 7 };
foreach (int i in Flatten<int>(ebles))
Console.Write(i +"");


您需要两个嵌套的foreach循环。其中一个迭代ebles,内部一个迭代每个列表中的元素。最里面的循环包含一个yield return element

这是大纲。现在去读一下这个提纲中提到的每一个词。