C#枚举yield和foreach

今天教授要求我们在课堂上解决这个练习,有人可以帮我解决我迷路...

这个练习和下一个练习的目的是强调枚举的力量,收益率和foreach语句。 声明一个泛型静态方法Flatten,它以IEnumerable<T>的数组作为参数并返回一个IEnumerable<T> 。 使用foreach语句和yield return语句。 该方法应该有这个标题:

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

如果您按以下所示调用方法,您应该得到2 3 5 7 2 3 5 7 2 3 5 7:

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 ;

这是大纲。 现在去阅读本大纲中提到的每个单词。

链接地址: http://www.djcxy.com/p/53713.html

上一篇: C# Enumerable yield and foreach

下一篇: How yield return works in c#