私は簡単な質問があります。 いくつかのnull変数を型にキャストするとします。私はコンパイラがSome Exceptionを投げることを期待していますが、そうではありません。そして私は本当にその理由を知りたい。 オペレータが例外処理を扱うように私は、多分最初のものでnull値を型にキャスト
string sample1 = null as string;
string sample2 = (string)null;
object t1 = null;
TestClass t2 = (TestClass)t1;
を意味します。しかし、他のサンプルは例外をスローする必要があります。コンパイラがこれらの状況をどのように処理するかは、変数がnullでキャスト操作を実行しない可能性がありますか?実際にnullポインタをキャストすると、エラーでなければなりません。
私はここで問題を見ることはできませんが、これらのすべてのタイプ(ほとんどの場合TestClassの場合)はnull可能であるため、キャストできるようになります –
+1 @AlfieGoodacre参照型( 'class')であり、値型(' struct')ではありません。それで、あなたはすてきであるはずです。 –
文字列にnullを割り当てることができます。すなわち、 文字列str = null; – FaizanRabbani