Я работаю с базой данных SQL Server, в которой регулярно есть столбцы DateTime, которые могут быть нулевыми.Я использую LINQ to SQL для подключения моей программы WinForms (VB.NET) к данным.
Я расширил некоторые объекты LINQ и добавил пару свойств Nullable(Of DateTime)
.По сути, я рассчитываю, существует ли конкретное значение.Значение равно DateTime
.Если он не существует, я хочу создать объект Nullable(Of DateTime)
(структуру, что угодно) со свойством HasValue
, установленным на False
.
Я провел некоторое исследование и, по-видимому, конструктор Newна Nullable(Of T)
создает один с HasValue
, установленным в True.
Два вопроса:
- Почему это?Поскольку структура
Nullable(Of T)
была создана специально для ситуаций такого типа, почему поведение по умолчанию будет HasValue
= True
? - Каков наилучший способ инициализации
Nullable(Of T)
на самом деле null
?
Спасибо!