AsParallelと同じく、.NET4.0betaからの回し者Zipを使ってみた罠。
Haskellとかを使ったことのある人なら、メソッド名でイメージがつくんじゃないかと。では、コード例。
class Program { static void Main(string[] args) { var range1 = Enumerable.Range(0, 5); var range2 = Enumerable.Range(0, 3); var result = range1.Zip(range2, (num1, num2) => num1 * num2); foreach (var num in result) { Console.WriteLine(num); } Console.WriteLine("終わり"); Console.ReadLine(); } } 0 1 4 終わり
二つの長さの異なるコレクションに対して、長さが一致する部分までの処理を行える様子。
無限配列とか渡したらどうなるんだろう…。