うにてぃブログ

主にUnityとC#に関する記事を書いていきます

【C#】文字列とその他の変数を結合する際には ToString が不要

例えば string と int を結合する際には iValue は ToString する必要が無い

var sValue = "";
var iValue = 10;
string text = sValue + iValue;

おそらく

private void operator+ (string a, object b)

みたいな実装になってると思って

Reference Source

上記サイトで string.cs のコードを見てみたが operator+ が見つからなかった

コンパイル後のコードを見てみたところ

string.Concat("", 10.ToString());

に変換してあり、ToString がついていた

最終的に正しくなるからいいということなんだろうか・・・?

詳しく調べてみたところ、string の結合は operator では無く string.Concat を利用するようになっているということでした