В F # мантре, кажется, есть висцеральное избегание null
, Nullable<T>
и его ilk. Взамен мы должны использовать типы опций. Честно говоря, я действительно не вижу разницы.
-
Мое понимание типа опции F # заключается в том, что оно позволяет указать тип, который может содержать любые его нормальные значения, или
None
. Например,Option<int>
позволяет использовать все значения, которые имеетint
, помимоNone
. -
Мое понимание типов с нулевым значением С# заключается в том, что он позволяет указать тип, который может содержать любые его нормальные значения, или
null
. Например, aNullable<int>
a.k.aint?
позволяет использовать все значения, которые имеетint
, помимоnull
.
Какая разница? Сделайте некоторые словарные замены с помощью Nullable
и Option
, null
и None
, и у вас в основном есть одно и то же. Какова вся суета над null
о?