我真的不需要这个功能,但是如果我能让编译器允许yield return
另一个IEnumerable<>
. 示例如下所示:
static void Main(string[] args){
foreach (string str in EnumerateA())
Console.WriteLine(str);
}
static IEnumerable<string> EnumerateA(){
yield return "1";
yield return EnumerateB("2");
yield return EnumerateB("3");
}
static IEnumerable<string> EnumerateB(string num){
yield return num + "+";
yield return num + "-";
}
我知道我可以替换
yield return EnumerateB("2")
和
foreach(string str in EnumerateB("2")) yield return str;
并且有那个工作,但这是唯一可行的方法吗?我的目标是.NET 2.0
。