Với đoạn mã sau:Loại dữ dội với nội tuyến nếu không thể làm việc cùng nhau?
Dim widthStr As String = Nothing
này hoạt động - width
được gán Nothing
:
Dim width As Nullable(Of Double)
If widthStr Is Nothing Then
width = Nothing
Else
width = CDbl(widthStr)
End If
Nhưng điều này không - width
trở thành 0.0
(mặc dù nó có vẻ là đang logic giống hệt nhau):
Dim width As Nullable(Of Double) = If(widthStr Is Nothing, Nothing, CDbl(widthStr))
Tại sao? Tôi có thể làm gì để nó hoạt động không?
bạn có thử tương tự trong C# không? 'double? width = widthStr! = null? Double.Parse (widthStr): (double?) Null; ' –
hãy kiểm tra http://stackoverflow.com/questions/14633824/nullable-type-with-inline-if-cannot-work-together http: // stackoverflow. com/questions/2647558 / preserving-null-values-in-a-double-variable – spajce
@HighCore - 'null' trong C# và' Nothing' trong VB.Net * không * tương đương. 'Nothing' là, khoảng,' default (T) '. –