Biorąc pod uwagę następujący kod:Typ nullable z wbudowanym, jeśli nie może działać razem?
Dim widthStr As String = Nothing
To działa - width
przypisany Nothing
:
Dim width As Nullable(Of Double)
If widthStr Is Nothing Then
width = Nothing
Else
width = CDbl(widthStr)
End If
Ale tego nie robi - width
staje 0.0
(choć wydaje się być logicznie identyczny kod):
Dim width As Nullable(Of Double) = If(widthStr Is Nothing, Nothing, CDbl(widthStr))
Dlaczego? Czy jest coś, co mogę zrobić, żeby to zadziałało?
czy próbowałeś tego samego w C#? 'podwójne? width = widthStr! = null? Double.Parse (widthStr): (double?) Null; ' –
proszę sprawdzić http://stackoverflow.com/questions/14633824/nullable-type-with-inline-if-cannot-work-together http: // stackoverflow. com/questions/2647558 / zachowując-wartości-null-w-podwójnej zmiennej – spajce
@HighCore - 'null' w C# i' Nothing' w VB.Net są * nie * równoważne. 'Nothing' to, w przybliżeniu,' default (T) '. –