на ссылочные типы допускающие значение null и ссылочные типы не допускающие null. Разве не все ссылочные типы допускают null? Также увидел там пример string? name = null, но ведь мы можем присвоить null и без оператора '?'. Что запутался причём Албахари и Троелсен вообще не писали о 'string?'
Надеюсь корректно изложил вопрос.
Это дополнительный контракт
это новая, свежая фича
Ты имеешь в виду, что это просто рекомендация использовать оператор ?, чтоб случайно NRE не получить?
эту фичу (nullable reference types) надо включать отдельно По умолчанию все реф типы налабл и сделать их НЕ налабл в сишарпе нельзя. И написать string? не получится. Обычный string может быть налом Когда ты включаешь эту фичу, то реф типы будут делиться на 3 лагеря - nullable (может присвоить null, тип пишется со знаком вопроса), non-nuillable (нельзя присвоить null, тип пишется БЕЗ знака вопроса), oblivious (нулабилити не установлена, может быть чем-то из первых двух). обычный string уже становится non-nullable и присвоить туда null не получится string? это уже nullable тип, как например int?
null! Получится написать
null! это дичь String.empty это норма, что с ним не так?
Ну давай про null! Его как то можно запретить?
да, написать ишью чтобы компилятор делал из этого ошибку. А пока этот ишью будут чинить, написать кастомный анализатор
Обсуждают сегодня