我看了一些代码,并发现了这个:
Dim TestString As String ... If TestString <> Nothing And TestString <> "" Then ... EndIf
两个条件都检查相同的事情吗?
谢谢
他们正在检查相同的东西,但他们可能会检查不同的东西.
If IsNothing(TestString) Then
和
If TestString = Nothing Then
是不同的测试 – 第一个很少使用,因为通常你只是想知道它是否具有非空值.但它可用于在DB中以不同的方式处理空字符串和空值,或用于检测可选参数的使用(两种情况都需要额外的工作以确保您不会无意中滑入错误的值,所以有些脆弱).
在给出的示例中,测试实际上有点罗嗦和令人困惑,如果这是您想要测试的
如果是String.IsNullOrEmpty(TestString)那么
是走的路吗?如果“和”应该是“或”那么使用IsNothing(TestString)可能是有意义的.