有没有人在这里使用VB.NET并且强烈偏好或反对使用Not foo Is Nothing
而不是foo IsNot Nothing
?如果是这样,为什么?
例如
If var1 IsNot Nothing Then
...
End If
和
If Not var1 Is Nothing Then
...
End If
我只是想知道哪一个更好?
它们是否同样可以接受?
答案 0 :(得分:32)
If Not var1 Is Nothing Then
是VB6的宿醉。以前不是IsNot,因此这是确定变量是否不是Nothing
的唯一方法。在VB.NET中似乎是多余的。
答案 1 :(得分:7)
我会选择第一个变体 - 它读起来像英语,比第二个更容易理解/理解。除此之外,它们是等价的。
答案 2 :(得分:5)
答案 3 :(得分:2)
我在VB.NET - IsNothing versus Is Nothing找到了一个类似的问题,我觉得这个问题得到了详尽的解答。 Jack Snipes在答案中找到了http://weblogs.asp.net/psteele/410336,这是一个提供更多细节的博客。从我喜欢和使用过的那些
IsNot Nothing
这也使我的代码更易于阅读和理解。
答案 4 :(得分:-1)
使用VB 7.0
If var1 Is Not Nothing Then
根据此"VBForums"链接生成“无效使用对象错误”。
If var1 IsNot Nothing Then
生成“编译错误:预期:然后或转到”
If Not IsNothing(var1) Then
像冠军一样工作