例えば string と int を結合する際には iValue
は ToString する必要が無い
var sValue = ""; var iValue = 10; string text = sValue + iValue;
おそらく
private void operator+ (string a, object b)
みたいな実装になってると思って
上記サイトで string.cs のコードを見てみたが operator+
が見つからなかった
コンパイル後のコードを見てみたところ
string.Concat("", 10.ToString());
に変換してあり、ToString がついていた
最終的に正しくなるからいいということなんだろうか・・・?
詳しく調べてみたところ、string の結合は operator では無く string.Concat を利用するようになっているということでした