170 похожих чатов

Всем привет. Подскажите по теме null. Сейчас в доке увидел разделение

на ссылочные типы допускающие значение null и ссылочные типы не допускающие null. Разве не все ссылочные типы допускают null? Также увидел там пример string? name = null, но ведь мы можем присвоить null и без оператора '?'. Что запутался причём Албахари и Троелсен вообще не писали о 'string?'
Надеюсь корректно изложил вопрос.

10 ответов

2 просмотра

Это дополнительный контракт

это новая, свежая фича

1899- Автор вопроса
Andrey Filippov
Это дополнительный контракт

Ты имеешь в виду, что это просто рекомендация использовать оператор ?, чтоб случайно NRE не получить?

1899
Ты имеешь в виду, что это просто рекомендация испо...

эту фичу (nullable reference types) надо включать отдельно По умолчанию все реф типы налабл и сделать их НЕ налабл в сишарпе нельзя. И написать string? не получится. Обычный string может быть налом Когда ты включаешь эту фичу, то реф типы будут делиться на 3 лагеря - nullable (может присвоить null, тип пишется со знаком вопроса), non-nuillable (нельзя присвоить null, тип пишется БЕЗ знака вопроса), oblivious (нулабилити не установлена, может быть чем-то из первых двух). обычный string уже становится non-nullable и присвоить туда null не получится string? это уже nullable тип, как например int?

Andrey Filippov
null! Получится написать

null! это дичь String.empty это норма, что с ним не так?

Ayrat Hudaygulov
null! это дичь String.empty это норма, что с ним н...

Ну давай про null! Его как то можно запретить?

Andrey Filippov
Ну давай про null! Его как то можно запретить?

да, написать ишью чтобы компилятор делал из этого ошибку. А пока этот ишью будут чинить, написать кастомный анализатор

Похожие вопросы

Обсуждают сегодня

Типа вызывать GetParent и проверять на соответствие GetModuleHandle?
The Bird of Hermes
67
Do any of you guys have interesting projects one could join? I'm a Middle Full-Stack developer (JS/TS, React & Node)
Lev Shapiro
40
$res = json_decode($наша строка из респонса); $res1 = array_map(fn($o) => $o->name, $res->breadcrumbs[0]->entities); Как такое будет на Хаскеле?.. В начале весь джейсон, в ко...
Хаскель Моисеевич Гопник
27
В чем сила брат, в NASM или FASM?
Isaac Kleiner
18
Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
11
А чем вам питонисты не угодили?😂
.
79
Хтось використовував Vapor на Windows?
Jaroshevskii
15
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
Тут кста кто-нибудь NeoVim использует?
Simple Sorcerer
13
Какое виндузовое сообщение приходит TTabSheet, что риэлайняться контролы на нем, даже у которых парент другой? Ситуация: открываю форму - кнопок нет, перелистываю на другой т...
Катерина Свиридова
7
Карта сайта