我的公司有一个用VB.net编写的软件,我之前从未真正使用过该语言。我遇到了以下情况:
If x Is Nothing Then Return Nothing ' x's type should be an instance of a class
Return x
这似乎与以下内容相同:
if(x == null) //Object.ReferenceEquals() if you want to be more accurate/verbose?
return null;
return x;
这似乎非常多余。是否有人会在VB中执行此操作?
答案 0 :(得分:1)
它可能只是累积代码腐烂,当您对代码进行最小的更改以适应时发生的事情,而不是正确的重新设计。
例如,过去可能是:
If x is Nothing Then
Return 0
End If
Return x
可能是因为来电者无法处理nothing
。
当它们被更改以便可以处理它时,功能几乎没有改变。
这有时是在现场错误修复期间采取的方法,以尽量减少变化,从而可能造成进一步的损害,但我希望至少有一条评论表明将来会做出“全面”的改变。
无论如何,你的'为什么'在很大程度上是不相关的,你可以安全地删除if
声明。