Setting Nullable Integer to String Containing Nothing yields 0
        Posted  
        
            by 
                Brian MacKay
            
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Brian MacKay
        
        
        
        Published on 2010-12-14T17:09:40Z
        Indexed on 
            2010/12/22
            15:54 UTC
        
        
        Read the original article
        Hit count: 296
        
I've been pulling my hair out over some unexpected behavior from nullable integers.
- If I set an 
IntegertoNothing, it becomesNothingas expected. - If I set an 
Integer?to aStringthat isNothing, it becomes 0! 
Of course I get this whether I explicitly cast the String to Integer? or not.
I realize I could work around this pretty easily but I want to know what I'm missing.
    Dim NullString As String = Nothing
    Dim NullableInt As Integer? = CType(NullString, Integer?) 'Expected NullableInt to be Nothing, but it's 0!
    NullableInt = Nothing 'This works -- NullableInt now contains Nothing. How is this 
EDIT: Previously I had my code up here so without the explicit conversion to 'Integer?' and everyone seemed to be fixated on that. I want to be clear that this is not an issue that would have been caught by Option Strict On -- check out the accepted answer. This is a quirk of the string-to-integer conversion rules which predate nullable types, but still impact them.
© Stack Overflow or respective owner