DataTable の DataRow を ToString すると null は空文字
◆ ToString() して使う場合には便利そう
最近まで DataTable なんてものが標準についてることすら知りませんでした
たまたま使ってるコードを見かけたので読んでいたら
ここ null になりそうなのにメソッド呼び出して大丈夫なのかな?
と思うところがありました
気になったので使ってみたら問題なく動いてました
なんで?と思って調べてみたら値に null が入ることはなくて null は DBNull.Value というオブジェクトに変換されます
なので ToString メソッドを使っても例外になりません
また DBNull.Value.ToString() は空文字になるので 使う側では 「!= ""」 だけで済み null か空文字でない としなくても済みます
データベースの型が nullable かどうかも気にしなくて済みますし 便利そうです
たまたま使ってるコードを見かけたので読んでいたら
ここ 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