言語処理100本ノック2015の下記問題を解いてみました。
「パトカー」+「タクシー」=「パタトクカシーー」
「パトカー」+「タクシー」の文字を先頭から交互に連結して文字列「パタトクカシーー」を得よ.
var text1 = "パトカー";
var text2 = "タクシー";
var count = 0;
var dicText1 = text1.ToDictionary(x => count++, x => x);
count = 0;
var dicText2 = text2.ToDictionary(x => count++, x => x);
var result = string.Concat(dicText1.Concat(dicText2).Dump().OrderBy(x => x.Key).Dump().Select(x => x.Value)).Dump();
ソートが多少怪しいですが、まぁ動きます。
LINQを用いた文字列結合、どう書くのが良いのか難しいです。