gpt4 book ai didi

vb.net - 如果不能一起工作,带有内联的可空类型?

转载 作者:行者123 更新时间:2023-12-04 06:53:32 25 4
gpt4 key购买 nike

鉴于以下代码:

Dim widthStr As String = Nothing

这有效 - width已分配 Nothing :
Dim width As Nullable(Of Double)
If widthStr Is Nothing Then
width = Nothing
Else
width = CDbl(widthStr)
End If

但这并没有 - width变成 0.0 (虽然它似乎是逻辑上相同的代码):
Dim width As Nullable(Of Double) = If(widthStr Is Nothing, Nothing, CDbl(widthStr))

为什么?有什么我可以做的吗?

最佳答案

进一步达米安的回答,做到这一点的干净方法是不使用 Nothing ,但是 New Double?反而:

Dim width As Double? = If(widthStr Is Nothing, New Double?, CDbl(widthStr))

现在是 If的类型表达是正确的,这可以简化为:
Dim width = If(widthStr Is Nothing, New Double?, CDbl(widthStr))

关于vb.net - 如果不能一起工作,带有内联的可空类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14633824/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com