Решение правильное. Чем больше проект тем полезнее будет эта фича. Ведь в больших проектах обычный коммит (пул-реквест) может идти пол дня, день. И если даже все покрыто тестами, время сэкономленное компилятором будет существенным. А вот реализация, похоже, будет на троечку.
Кроме контроля нулабельности нужно еще продвигать идею ML-я — все (ну, насколько это возможно) значения должны быть инициализированными. А Шарп с его мюьтабельностью по умолчанию и разными инициализаторами (подвигающими не писать конструкторы) плохо для этого приспособлен. Плюс наличие массивов в которых принципиально будут null — это не комильфо.
Плюс для реализации контроля нужен не хилый анализ, который МС, похоже, пока не осилил.
Еще одна проблема оператор "уверен, что не null". Боюсь его будут совать всюду без разбора и это все испортит.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: C# 8 и null-допустимость - ошибка на миллиард
VD>Кроме контроля нулабельности нужно еще продвигать идею ML-я — все (ну, насколько это возможно) значения должны быть инициализированными. А Шарп с его мюьтабельностью по умолчанию и разными инициализаторами (подвигающими не писать конструкторы) плохо для этого приспособлен. Плюс наличие массивов в которых принципиально будут null — это не комильфо.
Ну массивы особо и не нужны достаточно List<string> и Span<string>. Добавлять в лист можешь только NotNull VD>Плюс для реализации контроля нужен не хилый анализ, который МС, похоже, пока не осилил.
VD>Еще одна проблема оператор "уверен, что не null". Боюсь его будут совать всюду без разбора и это все испортит.
Ну оператор нужен что бы предупреждения не выдавать, а инициализировать должен в конструкторе. Ну и чем дольше будут пользоваться еще чего нибудь придумают
и солнце б утром не вставало, когда бы не было меня
Re[3]: C# 8 и null-допустимость - ошибка на миллиард
Здравствуйте, karbofos42, Вы писали:
K>А в плюсах вполне себе используют указатели и ссылки и не слышал, чтобы кто-то говорил, что ссылки не нужны и из-за них появляются трудноуловимые ошибки.
Ты поди и про оверквотинг не слышал.
А так правильно, потому как ошибки скорее из-за указателей.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, student__, Вы писали:
__>Здравствуйте, Serginio1, Вы писали:
__>>>Так просто C# говно-язык. Нормальный язык недопускает null reference, by construction. S>>Огласи такие языки
__>Rust же! Его safe подмножество.
Ну вот в C# тоже сейчас есть NotNull подмножество