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 +""); |
号
- 您具体需要什么帮助?
- 事实上-这里没有真正的问题…
- @尤瓦利茨查科夫:那是…你为什么不这么认为?它是一个整数序列的数组…
- 你有什么具体的问题?这是一个相当简单的任务。你很难计划或实施哪一点?
- Return New Int[]2,3,5,7,2,3,5,7,2,3,5,7.
- @Jonskeet哦,这是一个可枚举数组。我的错。
- @德米特里特索,完美的TDD答案!:)
- 方法体:return ebles.SelectMany(i => i);。
您需要两个嵌套的foreach循环。其中一个迭代ebles,内部一个迭代每个列表中的元素。最里面的循环包含一个yield return element;
这是大纲。现在去读一下这个提纲中提到的每一个词。