Exit Function是否返回false?

时间:2009-04-03 14:42:40

标签: vb.net

在VB.NET上的布尔函数中,如果运行一个Exit Function行,它会返回false吗?

4 个答案:

答案 0 :(得分:11)

这是正确的,但需要注意的是,在VB中,函数名也可以是返回的变量。如果您之前已将其设置为true,则它将返回true。


更完整的是,在VB.Net中,如果我有一个像这样定义的布尔函数Foo()

Public Function Foo() As Boolean
   '...

...该函数的主体有一个名为Foo的隐含变量,它匹配函数的返回类型 - 在这种情况下为Boolean,但如果返回类型为Object省略(您应该使用Option Strict,这需要返回类型)。初始化此隐含变量以使用该类型的默认值。

如果您未能Return函数中的值,无论是通过Exit Function还是仅通过到达结尾,都会返回此隐含变量。因此,Boolean函数会在False提前Exit Function返回True而不进行其他更改,因为这是函数使用的隐含变量中的默认值。但如果您愿意,也可以先将该变量设置为Exit Function,然后True会导致该变量返回{{1}}。

现在人们并不经常使用隐含变量,但有些情况下,它可以为您节省几行代码而不会花费任何清晰度。

答案 1 :(得分:3)

无论是否存在(编译器仅提供空引用警告),如果仅为了可读性,您仍应显式返回false。

答案 2 :(得分:2)

只要在退出

之前没有将该功能设置为True

答案 3 :(得分:2)

我总是“返回True”或“返回False”退出方法而不是退出语句。