Я работаю с базой данных 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
?
Спасибо!