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 の場合は、変数名に「?」をつけるのではなく、変数名に記号をつけるらしい。