Здравствуйте, NeoCode, Вы писали:
NC>в последней строчке присваивание неопциональной переменной опционального значения. NC>Приходят в голову три варианта, как обрабатывать такое в языке программирования.
А зачем что-то изобретать, когда все грабли уже исхожены?
т.е.
4. Требовать явного приведения "T y = (T)x", не выходит — исключение. Синтаксический сахар типа as, match, ??, ?. — по вкусу.
UPD Про возражение "больше писанины". Введение nullable предполагает, что _все_ типы по умолчанию становятся не-nullable (вопрос про new object[1][0] пока оставим в сторонке), т.е. проверки понадобятся только если api не гарантирует наличие результата. Всякие TryGetValue()/TryParse() как пример.