在 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 也不相同""。我在上面给你举了例子。因此,如果有人知道此解决方案,请告诉我。这让我发疯。