在 VB 6.0 中,有人制作了 Program。在那个程序中,他使用了
If tmpVar <> "" Then
是的,它在 6.0 中运行良好。
If tmpVar has string
, 有用。
If tmpVar has double
,它也有效。
我认为在 vb 6.0 中,""
就像 null 一样。所以无论 tmpVar 有什么值,它都能正常工作。但是当我将此程序转换为 .Net 时。它不再起作用了
因为在 .Net 中,"" 无法与 double 比较。我认为 In .Net""
只是字符串,不像 vb 6.0 那样的 null
所以我用Nothing
而不是""
. 但它也有问题。
例如当我使用这个
If tmpVar <> Nothing Then
看起来没有问题。但是,如果tmpVar
有 number 0
,它不起作用,因为他们认为Nothing
并且0
是相同的。我不希望那样。因为 0 并没有什么不同。但他们认为他们是一样的。
所以我再次改变了我的程序
If tmpVar IsNot Nothing Then
是的。看起来又没有问题了。但是如果tmpVar
有“”,它就不起作用。
所以总而言之,在 vb 6.0 中,这""
意味着像 null 一样为空。它可以与任何类型进行比较。
但是转换后,在 vb.net 中,这""
并不意味着像 null 一样为空。它只是字符串。它无法与双重类型相提并论。即使我更改""
为Nothing
,它与 vb 6.0 也不相同""
。我在上面给你举了例子。因此,如果有人知道此解决方案,请告诉我。这让我发疯。