我並不真的需要這個特性,但是如果我可以讓編譯器允許yield return
與另一個IEnumerable<>
一起允許,簡化一些代碼的機會就已經出現了。如下例:C#中的嵌套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
。
是................................ –