ネタ元
LINQで別のやり方を思いついた。
using System; using System.Linq; using System.Collections.Generic; class Program { static void Main(string[] args) { string numstr = "123456789"; string alpstr = "abcdefghi"; var ret = numstr.SelectMany( (ch, i) => new[] { alpstr[i] }, (c1, c2) => Tuple.Create(c1, c2)); ret.Run(Console.WriteLine); } }
実行結果
(1, a) (2, b) (3, c) (4, d) (5, e) (6, f) (7, g) (8, h) (9, i)
SelectManyは強力!!まぁ.NET Framework 4なら素直にZip使えってことなんでしょうけど・・・。
あと、RunメソッドはReactive Extensionsのメソッドです。こいつも便利。