【问题标题】:`x <> Nothing` vs `x IsNot Nothing``x <> Nothing` vs `x IsNot Nothing`
【发布时间】:2011-05-20 15:48:19
【问题描述】:

在VB中是否存在x = Nothingx is Nothing不同的情况?

另外,x &lt;&gt; Nothingx IsNot Nothing

我认为它们是完全一样的……但只是想确定一下。

【问题讨论】:

  • 您是否尝试过编写一些代码来检验您的假设?
  • VB.Net what is the difference between foo=Nothing and Foo Is Nothing 的完全相同的副本。请参阅那里的Konrad's excellent answer(和 cmets)。
  • @MarkJ 它不是完全重复的。我在问题中的第二行只是为了展示吗?
  • @Parcerier 也许第二行不是为了展示,但它没有那么有趣。 IsNotdefined,与 Is 相反。 &lt;&gt;defined,与 = 相反。请不要因为我投票关闭这个重复的问题而感到生气,我们有一个policy,我们试图关闭重复的问题。这并不意味着它已被删除,它只是与现有问题相关联。
  • @MarkJ 不适用于 nullables

标签: .net vb.net syntax


【解决方案1】:

空字符串是有区别的,do 只用 "=" 或 "" 算作 Nothing,但 don't 对于 Is / IsNot 算作 Nothing :

Public Class Test
    Public Shared Sub Main()
        Dim x As String = ""
        Console.WriteLine(x = Nothing)   ' True
        Console.WriteLine(x Is Nothing)  ' False
    End Sub
End Class

【讨论】:

  • 很酷,所以除了字符串之外的所有其他用途都相同吗?
  • @Pacerier:我对此知之甚少,无法肯定地说 - 我刚刚强调了我确实知道的一个区别:)
猜你喜欢
  • 2018-08-06
  • 1970-01-01
  • 2019-09-21
  • 2020-06-14
  • 2022-01-20
  • 1970-01-01
  • 2020-12-17
  • 2019-12-18
  • 2021-11-28
相关资源
最近更新 更多