}}まず、ログは文字列を出力したいものですが、デベロッパが『ちょっとこの値を残しておきたい』と思ったときにそれが文字列であるかどうかはわからないものです。いって、デバッグ中に変数の内容をログ出力するとき、デベロッパは『変数なら変数を出力したい』のであって、『変数を文字列に変換してその結果を出力したい』とは考えません。『文字列に変換して・・・』というのは思考のオーバーヘッドでしかないのです。Cast::ToString(内容はお察しください)をかましています。これは、実際の開発において複数の変数の値をとりあえず表示したい、ということが意外に多い(受けた引数をとりあえず表示、とか)ためこのような処理を入れています。);のほうが手軽です。出力のフォーマットはいろいろ思うところはあるのですが、デバッグ用途なので、多少おかしかろうが出力できれば良いと考えてこうしました。ここで注意しなければならないのは、デバッグログに関してはどこまででも詳細に情報が表示されれば良いということでもないことです。あまりに詳細な情報が勝手に出力されてしまうとログ出力が(実際に重いかどうかとはあまり関係なく)『心理的に重い行為』になってしまいますし、出力結果が多くの情報に埋もれて逆にみづらくなり、手軽に書くことを躊躇する意識が働きます。入れ子配列を再帰しませんし、改行もしません。行番号を付加するようなこともしていません。そのような情報が欲しければ自分でそう書けば良い、とします。