Хотя ответ @ AlexeyRomanov совершенно верен, если вы действительно хотите сопоставить значение Nullable
, вы можете определить активный шаблон следующим образом:
let (|Null|Value|) (x : _ Nullable) =
if x.HasValue then Value x.Value else Null
А затем используйте его в своей функции:
let addIfNotNull (ht : Hashtable) (key : string)
(value : Nullable<DateTime>) =
match value with
| Null -> ()
| Value dt -> ht.Add (key, dt)
ht
Я позволил себе изменить подпись вашей функции, чтобы она принимала параметры карри; если у вас нет особых требований, параметры карри обычно предпочтительнее, чем параметры с кортежем.