“不......没什么”与“......没有”

时间:2013-09-20 06:03:07

标签: vb.net

有没有人在这里使用VB.NET并且强烈偏好或反对使用Not foo Is Nothing而不是foo IsNot Nothing?如果是这样,为什么?

例如

If var1 IsNot Nothing Then
...
End If

If Not var1 Is Nothing Then
...
End If

我只是想知道哪一个更好?
它们是否同样可以接受?

5 个答案:

答案 0 :(得分:32)

If Not var1 Is Nothing Then

是VB6的宿醉。以前不是IsNot,因此这是确定变量是否不是Nothing的唯一方法。在VB.NET中似乎是多余的。

答案 1 :(得分:7)

我会选择第一个变体 - 它读起来像英语,比第二个更容易理解/理解。除此之外,它们是等价的。

答案 2 :(得分:5)

$apply

以下一行直接来自Microsoft的Visual Basic Coding Conventions

  

使用foo IsNot Nothing关键字代替IsNot ...没有。

答案 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

像冠军一样工作