var result = myObject?.GetType();
W tym scenariuszu jaka byłaby wartość wyniku, jeśli myObject
ma wartość null?C# 6 propagacja zerowa wartość, która jest ustawiona, gdy obiekt jest pusty
var result = myObject?.GetType();
W tym scenariuszu jaka byłaby wartość wyniku, jeśli myObject
ma wartość null?C# 6 propagacja zerowa wartość, która jest ustawiona, gdy obiekt jest pusty
Zakładając, że obiekt nie ukrywa domyślne object.GetType
definicję: GetType
powraca Type
, która jest typem odniesienia, więc zostaną zwrócone null
i result
będzie wnioskować, aby być typu Type
.
Jeśli obiekt ma metody, która kryje object.GetType
, będzie to również powrót null
, ale wpisać implikowana dla result
może się zmienić: to być albo TResult
jeśli ta metoda zwraca oznaczenie typu TResult
lub Nullable<TResult>
jeśli zwraca typ wartości typu TResult
.
Wynik powinien być null
, ponieważ operator ?
zwiera operację.
Spróbuj i zobacz. – MickyD
Zapoznaj się z moim artykułem na temat [Co nowego w C# 6] (https://www.simple-talk.com/dotnet/.net-framework/whats-new-in-c-6/). Tam pokazuję, co dzieje się za zasłoną. –