What really can bite you is that if you have such a construction in C #
int? result = (a != null ? ab : (int?)null);
and you replace it with the next VB (which compiles)
Dim result As Integer? = If(a IsNot Nothing, ab, Nothing)
What will happen?
The answer is that it will be 0, not null.
source share