C# コンソール アプリケーションにfoo ( object
) と foo2 ( ) があります。string
コード 2 は例外をスローしますが、コード 1 は正常に動作します。
そのように振る舞う理由を説明していただけますか (MSDN 参照付き)。
// コード 1
object foo = null;
string test = Convert.ToString(foo).Substring(0, Convert.ToString(foo).Length >= 5 ? 5 : Convert.ToString(foo).Length);
// コード 2
string foo2 = null;
string test2 = Convert.ToString(foo2).Substring(0, Convert.ToString(foo2).Length >= 5 ? 5 : Convert.ToString(foo2).Length);