私はこの質問をするための簡単な例を作成しました。ToString()を暗黙的に使用しても例外が発生しないのはなぜですか?
次のコードはコンパイルして実行します:
static void Main(string[] args)
{
string bigString, littleString;
littleString = null;
bigString = "word " + littleString + " word";
}
このコードはコンパイルされますが、実行時NullReference例外がスローされます。
static void Main(string[] args)
{
string bigString, littleString;
littleString = null;
bigString = "word " + littleString.ToString() + " word";
}
なぜ、最初のコードでも同様の例外は発生しませんか? ToString()を暗黙的に使用する他の文字列と連結するためには、2番目のコードと同じ根本的な問題が発生すると思います。
内部的に['String.Concat'](https:// msdn。このケースを処理するmicrosoft.com/en-us/library/kbseaaft(v=vs.110).aspx)が使用されています:_ "String.Emptyがヌル引数の代わりに使用されています" _ –
なぜ最初の例は 'ToString'をまったく含んでいますか? – Luaan