C# 6 Нулевое распространение, какое значение устанавливается, когда объект нулевой

var result = myObject?.GetType();

В этом сценарии, что будет значением Result, если myObject нулевой?

2 ответа

Решение

Предполагая, что ваш объект не скрывает по умолчанию object.GetType определение: GetType возвращается Type, который является ссылочным типом, так null будет возвращен, и result будет выведено, чтобы быть типа Type,

Если у вашего объекта есть метод, который скрывает object.GetType, он также вернется null, но тип выведен для result может измениться: это будет либо TResult если этот метод возвращает ссылочный тип TResult, или же Nullable<TResult> если он возвращает тип значения типа TResult,

Результат должен быть null поскольку ? оператор замыкает операцию.

Другие вопросы по тегам