スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
当サイトは基本をすっ飛ばしてます。基本文法等は、@ITをどうぞ
カテゴリー: スポンサー広告

今更知った、bool?のメソッド・・・

今まで、

var w1 = new MainWindow1();
var result = w1.ShowDialog();

if (result != null && result.Value) {
//...
}

って、やってたんだけど、

var w2 = new MainWindow1();

if (w2.ShowDialog().GetValueOrDefault()) {
//...
}

ってできる事を今更わかったんだ。Orz。
int?とか、long?って、値型のようでクラス型。nullに設定できるのに、参照型ではなく値型。

int? x = null;
var hasValue = x.HasValue;

としてもヌルリ(NullReferenceException)は発生しない。
nullのようで、本当のnullではなく、Nullable系のインスタンスがあるんだなと。

(2012/09/22追記)
int?もlong?も値型なので、修正しました。ご指摘感謝です。m(_ _)m
スポンサーサイト
当サイトは基本をすっ飛ばしてます。基本文法等は、@ITをどうぞ
カテゴリー: C# | コメント: 1 | トラックバック: 0


この記事へのコメント

No title
クラスではなく構造体ですね。
System.Nullable<T>構造体です。
構造体ですので、値型の一種です。

コメントの投稿

非公開コメント


サイドバー背後固定表示サンプル

当ブログに書かれたソースコードは流用自由です。

バグ、スペルミス等はありうる事です。

ご利用の際は自己責任でお願いしますm(_ _)m

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。