Странное поведение nullable Перечислимых типов

Легко исправить, я изменил

let hashedValue = await HashPBKDF2value();

на

let hashedValue = await HashPBKDF2value;
5
задан Keith 8 March 2011 в 09:15
поделиться

1 ответ

Nullable - это структура, которая содержит логическое hasValue и значение T, где T - тип значения. В этом случае enum. Перечисление должно иметь некоторое значение, в данном случае значение по умолчанию 0, однако общедоступное значение Value вызывает исключение, потому что hasValue имеет значение false.

То, что вы видите, - это внутреннее устройство того, как Nullable делает то, что делает. Вы не можете прочитать что-либо в поле внутреннего значения, имеющее какое-либо значение, когда hasValue имеет значение false. В конце концов, если бы значение могло содержать null, не было бы никакого смысла использовать здесь Nullable.

4
ответ дан 15 December 2019 в 01:10
поделиться
Другие вопросы по тегам:

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