MapMany の実装をテストしようとしていますが、出力の取得に問題があります。
コードは次のとおりです。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication3
{
static class E
{
static void Main()
{
var sequence = new int[] { 0, 1, 2, 3, 4 };
var result = sequence.MapMany(
s => s % 2 == 1 ? new int[] { s } : new int[] { });
Console.WriteLine("{0}", result);
}
public static IEnumerable<U> MapMany<T,U>
(this IEnumerable<T> sequence, Func<T,IEnumerable<U>> func) {
foreach (T item in sequence) {
IEnumerable<U> sequence2 = func(item);
foreach (U item2 in sequence2) {
yield return item2;
}
}
}
}
}
コードを実行しようとすると、次の出力が表示されます。
ConsoleApplication3.E+<MapMany>d__2'2[System.Int32,System.Int32]
誰でもこれを修正する方法を知っていますか?
乾杯