Спецификация для Соответствие шаблонов в С# содержит следующий пример кода:
Type? v = x?.y?.z;
if (v.HasValue) {
var value = v.GetValueOrDefault();
// code using value
}
Я понимаю, что Type? указывает, что Type имеет значение NULL, но если предположить, что x, y и z являются локальными, то что означает x?.y?.z?