“Not … Is Nothing” versus “… IsNot Nothing”

前端 未结 5 1636
夕颜
夕颜 2020-12-29 03:33

Does anyone here use VB.NET and have a strong preference for or against using Not foo Is Nothing as opposed to foo IsNot Nothing? If so, why?

相关标签:
5条回答
  • 2020-12-29 03:41

    Using VB 7.0

    If var1 Is Not Nothing Then

    generates an "invalid use of object error" as per this "VBForums" link.

    If var1 IsNot Nothing Then

    generates a "Compile error: Expected: Then or GoTo"

    If Not IsNothing(var1) Then

    worked like a champ

    0 讨论(0)
  • 2020-12-29 03:57

    The

    If Not var1 Is Nothing Then
    

    Is a hangover from VB6. There didn't used to be an IsNot, and so this was the only way to determine if a variable was not Nothing. It seems to be redundant in VB.NET.

    0 讨论(0)
  • 2020-12-29 03:58

    foo IsNot Nothing

    The following line is straight from Microsoft's Visual Basic Coding Conventions:

    Use the IsNot keyword instead of Not...Is Nothing.

    0 讨论(0)
  • 2020-12-29 03:58

    I would go with the first variant - it reads like English and is easier to follow/understand than the second one. Other than that, they are equivalent.

    0 讨论(0)
  • 2020-12-29 04:02

    I found a similar question here VB.NET - IsNothing versus Is Nothing, where I feel this question was exhaustively answered. Among the answers Jack Snipes identified http://weblogs.asp.net/psteele/410336, a blog that gives some extra detail. From those I prefer and have used

    IsNot Nothing
    

    which also makes my code easier to read and understand.

    0 讨论(0)
提交回复
热议问题