Vb.net 检查变量是否等于某个值,然后返回该值是否多余?

Vb.net 检查变量是否等于某个值,然后返回该值是否多余?,vb.net,Vb.net,我的公司有一个用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

我的公司有一个用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中这样做的原因吗?

这可能只是累积的代码腐烂,当您对代码进行最小的更改以适应时,而不是正确地重新设计时,就会发生这种情况

例如,过去可能是:

If x is Nothing Then
    Return 0
End If
Return x
可能是因为呼叫者无法处理
任何内容

当他们被改变,以便他们可以处理它,功能是最小的改变

这有时是在现场缺陷修复过程中采取的方法,以最大限度地减少更改,从而降低进一步损坏的可能性,但我希望至少有一条评论建议将来进行“全面”更改


在任何情况下,你的“为什么”在很大程度上是不相关的,你可以安全地删除
if
语句。

我无法找到
if
语句的任何理由。只返回
x
而不进行检查应该会得到相同的结果,就像在C#中一样。我认为有些人只是过于谨慎,没有真正理解他们在做什么。开发这个软件的人还在你们公司工作吗?如果没有,那么也许这就是原因汉克斯。我只是想确定这不是某种VB.net的“gotcha”。