Pages

2013/07/25

[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 の場合は、変数名に「?」をつけるのではなく、変数名に記号をつけるらしい。
Related Posts Plugin for WordPress, Blogger...