У меня есть простой вопрос. , если мы нанесли некоторую нулевую переменную в тип. Я ожидаю, что компилятор выкинет Some Exception, но это не так. И я действительно хочу знать причину. Я имею в видуПередача нулевого значения на тип
string sample1 = null as string;
string sample2 = (string)null;
object t1 = null;
TestClass t2 = (TestClass)t1;
может быть в первой, так как оператор обрабатывает обработку исключений. Но другие образцы должны исключать исключение. Как компилятор справляется с этими ситуациями, возможно, поскольку переменные равны нулю, он не выполняет операцию литья? Причина, если он действительно набросал нулевой указатель, должен быть ошибкой.
Я не вижу здесь проблемы, все эти типы (скорее всего, имеют место в TestClass) имеют значение NULL, и поэтому можно было бы отличить –
+1 @AlfieGoodacre, если приведение производится в reference-type ('class'), а не тип значения (' struct'). Тогда все должно быть хорошо. –
строке может быть присвоен null i.e string str = null; – FaizanRabbani