【发布时间】:2021-04-23 02:02:55
【问题描述】:
【问题讨论】:
-
查看 cmets here(可以替换为
If String.IsNullOrEmpty(...)) -
你只是在调试器中看到了吗?我认为调试器有自己的语法
标签: vb.net
【问题讨论】:
If String.IsNullOrEmpty(...))
标签: vb.net
您是否注意到= 字符周围的多个引号?您的表达式是字符串比较。它首先将"SomeString" 与空字符串(前两个双引号)连接起来。结果是"SomeString"。然后将此结果与空字符串(最后两个双引号)进行比较。 = 字符用作equality comparison operator。表达式的结果是False,因为"SomeString" 不等于""。
为了更好的理解,你可以重写你的代码如下:
("SomeString" & "") = ""
是的,正如在一条评论中已经提到的,您的代码的最初目的可能是测试一个字符串是空的还是空的。我假设在您的实际情况下,使用了一些变量someString 而不是文字字符串"SomeString"。表达式的第一部分:
someString & ""
将确保结果是原始的someString 或如果someString 是Nothing (null) 则为空字符串。这与一个空字符串进行比较。正确的做法是替换原来的表达式
someString & "" = ""
以下内容:
String.IsNullOrEmpty(someString)
【讨论】:
VB.NET中字符串之间的&是字符串连接。
【讨论】: