【Unity】ログ出力には「$」文字列補間を使おう

2019/04/18DEVELOP, Unity

コンソールにデバッグログって出力しますよね。

Debug.Log("loglog");

このデバッグログの書き方がプロジェクト毎に様々でした。
その時遭遇した例と、僕が良いと思うな書き方を紹介出来たらなと思います。

その1 必要に応じて連結する場合

// 文字列を連結する
var x = 100;
var y = 200;
Debug.Log("x:" + x + " y:" + y);

Unity4時代によく見た思いで。今でも稀に見ます。

その2 引数を後ろにまとめる

var x = 100;
var y = 200;
Debug.Log(string.Format("x:{0} y:{1}", x, y));

最も多く見かける書き方。

その3 string.Formatを省略する

var x = 100;
var y = 200;
Debug.LogFormat("x:{0} y:{1}", x, y);

string.Formatを短縮して書けるメリットがありますが、Log()とLogFormat()との使い分けが面倒な人は使っていない気がします。かくいう私も使ったことはほとんどありません。

その4 文字列補完を利用する

var x = 100;
var y = 200;
Debug.Log($"x:{x} y:{y}");

C#の文字列補完を利用する方法です。$から始めて文字列を定義すれば中に変数を埋め込むことが出来ます。
$ – 文字列補間 – C# リファレンス | Microsoft Docs

個人的には、タイトルにも書いてしまっていますが、最も直感的に書けるその4 文字列補完を利用するをおススメします。書き方の選択肢が増えたりするとスムーズなコーディングも出来ないので、一定のルール、リズムで書ける様な物を選択するのが良いと思います。

Posted by kazupon