タグ

nullableとmonadに関するkiyo_hikoのブックマーク (1)

  • VS 2005で新しくなったVisual BasicとC#の新機能を総括(2/3) - @IT

    ■Nullable型(VB 2005、C# 2.0共通) 従来、int型(VBではInteger型)のような値型では、参照型のようにNull値(C#ではnull、VBではNothing)をセットすることはできなかった(正確には、VB.NETではNothing値をセットすること自体は可能であったが、内部的にはその値型に対応するデフォルト値に変換されるため、Nothingを検出することはできなかった)。つまり、(例えば)int型における0を初期化済みの0であるか、未初期化状態であるのかを判定する手段がなかったのだ(判定するには、変数1つについて1つのフラグ変数を必要とした)。 そこで新たに導入されたのが、Nullable型だ。Nullable型を利用することで、Null値を代入することができる値型を扱うことが可能になる。Nullable型の変数に値が格納されているかどうかは、Nullable.

    kiyo_hiko
    kiyo_hiko 2012/03/06
    「int? i; // 「Nullable<int> i;」と同じ」…なんだかMaybeみたいだ
  • 1