在VB 6.0中,有人制作了程序.在那个节目中,他使用了
If tmpVar <> "" Then
Run Code Online (Sandbox Code Playgroud)
是啊它在6.0中运作良好.
If tmpVar has string, 有用.
If tmpVar has double,它也有效.
我认为在vb 6.0中,""意味着像null一样.所以无论tmpVar有anyValue,它都有效.但是当我把这个程序转换成.Net时.它不再起作用了
因为在.Net中,""无法与双重比较.我认为在.Net ""中只是字符串不像vb 6.0那样的null
所以我用Nothing而不是"".但它也有问题.
例如,当我使用它时
If tmpVar <> Nothing Then
Run Code Online (Sandbox Code Playgroud)
看起来没问题.但是,如果tmpVar有数字0,它不起作用,因为他们思考Nothing并且0是相同的.我不希望这样.因为0并没有什么不同.但他们认为他们是一样的.
所以我又改变了我的程序
If tmpVar IsNot Nothing Then
Run Code Online (Sandbox Code Playgroud)
是啊.看起来好像没问题了.但如果tmpVar有"",则不起作用.
总而言之,在vb 6.0中,这""意味着像null一样空.它可以与任何类型进行比较.
但转换后,在vb.net中,这""并不意味着像null一样空.它只是字符串.它无法与doubletype相比.即使我改""到Nothing,它不是一样用VB 6.0 "".我给你上面的例子.所以,如果有人知道这个解决方案,请告诉我.这让我很疯狂.
我有问题.A~B~C~D我的表中有值.
我希望将这个字符串分开,如'A'和'B~C'.
我可以使用此功能分离'A'
SELECT SUBSTRING(Item.Description, 0, CHARINDEX('~', Item.Description)) As Com
Run Code Online (Sandbox Code Playgroud)
但在那之后,我无法分开'B~C'.
当然,如果我使用SUBSTRING和CHARINDEX了很多,我可以分开.
但它非常复杂.
所以我想知道我是否可以使用其他方式.
非常适合阅读