Страницы

Поиск по вопросам

среда, 29 января 2020 г.

Как преобразовать double? в double на C#

#c_sharp #преобразование #типы


Есть поле класса типа double?, то есть оно может и не содержать значения.

А я в своем классе использую просто double.

Как сделать преобразование?

И как быть с DateTime? -> DateTime
    


Ответы

Ответ 1



Если вы уверены, что значение там есть, вы можете получить его так: double? nd = ...; double v = nd.Value; Если не уверены, вам придётся сначала проверить: double? nd = ...; if (nd == null) { // значения нет, обрабатываем этот случай } else { // значение есть double d = nd.Value; // работаем с ним } Для случая, когда для отсутствующего значения подойдёт, например, 0.0, можно написать просто так: double d = nd ?? 0.0; Но как именно правильно реагировать на отсутствующее значение, решать только вам.

Ответ 2



Ну можно что-нибудь вот такое например: double val = nullableDouble.HasValue ? nullableDouble.Value : 0.0;

Комментариев нет:

Отправить комментарий