次の設定があるとします (データの長さが等しく、全体的に適切であると仮定します)。
List<String>
a = GetStrings(0),
b = GetStrings(1);
for(int i = 0; i < a.Count; i++)
yield return new SuperString{ A = a[i], B = b[i] };
私が疑問に思っているのは、これをforeach
ループにリファクタリングできるかどうか、そして非常に醜く見えるかどうかです。要素ペアごとfor
に操作が実行されるため、以前に使用することをお勧めします。
編集:
詳細については、私はほとんど知らなかったかもしれません。申し訳ありません。タイプが任意の場合はどうなりますか? すなわち、次のように?
IEnumerable<Cool> a = GetCool();
IEnumerable<Lame> b = GetLame();
for(int i = 0; i < a.Count; i++)
yield return new Opposites{ A = a[i], B = b[i] };