[C#] int? 値型にクエッションマークをつけて null を許容。

値型の変数には null を代入できない。しかし、 何らかの理由で null をセットしたい場合に備えて、Nullable という型がある (.Net Framework 2.0 以降)。
 int? i = null;
 bool? b = null;
 string s = null;
型に「?」をつけることで、null を許容するようになる。string などの参照型ではこのような書き方はできないので注意する (そもそも参照型は初めから null を許容する)。
また、? には合体演算子という働きもあり、「??」とつなげることで null の判定を簡単に行える。

 int? i = null;
 int? j = 100;
 i = i ?? j;

  // i は 100 になる。
VB の場合は、変数名に「?」をつけるのではなく、変数名に記号をつけるらしい。

このブログの人気の投稿

コピーした行の挿入が表示されない時はフィルタされていないかチェック

Excel で一部の図形だけ固定する