这里有没有人使用 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
我只想知道哪个更好?
他们都同样可以接受吗?
这
If Not var1 Is Nothing Then
是VB6的宿醉。过去没有 IsNot,因此这是确定变量是否为 not 的唯一方法Nothing
。它在 VB.NET 中似乎是多余的。
我会选择第一个变体——它读起来像英语,比第二个更容易理解/理解。除此之外,它们是等价的。
我在这里发现了一个类似的问题VB.NET - IsNothing vs Is Nothing,我觉得这个问题得到了详尽的回答。在 Jack Snipes 确定的答案中, http: //weblogs.asp.net/psteele/410336是一个提供一些额外细节的博客。从我喜欢和使用过的那些
IsNot Nothing
这也使我的代码更易于阅读和理解。
使用 VB 7.0
If var1 Is Not Nothing Then
根据此“VBForums”链接生成“无效使用对象错误”。
If var1 IsNot Nothing Then
生成“编译错误:预期:然后或转到”
If Not IsNothing(var1) Then
像冠军一样工作