最近いじってなかったんだけど、D言語で数値を文字列に変換するtoString*1的なことは、 std.conv.text(T...) で全部まとめてできる。なんでもとりあえず吸い込んで
string s = text(i, ", ", class1, " and ", array);
引数として渡されたのを順番にくっつけてstring *2 に変換。渡されたのがclassやstructの場合、toString()を呼び出して文字列に変換する。配列なら [23, 45, 64] みたいに適当に変換してくれる。
D 2.029 Apr 19, 2009 より追加

*1:昔は std.string.toString()というそのまんまなライブラリがphobosにあった

*2:ちなみに string は immutable char[] の別名