◆ ToString() して使う場合には便利そう

最近まで DataTable なんてものが標準についてることすら知りませんでした
たまたま使ってるコードを見かけたので読んでいたら

ここ null になりそうなのにメソッド呼び出して大丈夫なのかな?

と思うところがありました
気になったので使ってみたら問題なく動いてました


なんで?と思って調べてみたら値に null が入ることはなくて null は DBNull.Value というオブジェクトに変換されます
なので ToString メソッドを使っても例外になりません

また DBNull.Value.ToString() は空文字になるので 使う側では 「!= ""」 だけで済み null か空文字でない としなくても済みます
データベースの型が nullable かどうかも気にしなくて済みますし 便利そうです

> var dt = new DataTable();
. dt.Columns.Add("column");
. var row = dt.NewRow();
. row["column"] = null;
. row["column"].ToString() == ""
true