Java 1.8 получает необязательный класс, который позволяет нам явно говорить, когда метод может возвращать нулевое значение и "принудительно" его потребителя, чтобы проверить, не является ли он не null (isPresent()
), прежде чем использовать его.
Я вижу, что на С# есть Nullable, что-то похожее, но с базовыми типами. Кажется, он используется для запросов БД, чтобы различать, когда существует значение, и является 0 из того, когда оно не существует и имеет значение null.
Но похоже, что С# Nullable не работает для объектов, только для базовых типов, тогда как Java Option работает только для объектов, а не для базовых типов.
Есть ли в С# класс Nullable/Optional, который заставляет нас проверять, существует ли объект до извлечения и использования?