在VB.NET上的布尔函数中,如果运行一个Exit Function行,它会返回false吗?
答案 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”退出方法而不是退出语句。