是" IsFalse"和#34; IsTrue"基本上只是隐式转换为布尔值?我知道它们被短路运算符(AndAlso,OrElse)使用,但它们在功能或内部工作方面是否有任何不同,然后隐式转换为布尔值?
答案 0 :(得分:2)
显式转换为布尔值。
您只能在代码中使用它们来定义您编写的结构的= True
或= False
评估,因此您必须定义规则以确定您的结构的哪个值等于true或者是假的
Public Structure p
Dim a As Double
Public Shared Operator IsFalse(ByVal w As p) As Boolean
Dim b As Boolean
' Insert code to calculate IsFalse of w.
Return b
End Operator
Public Shared Operator IsTrue(ByVal w As p) As Boolean
Dim b As Boolean
' Insert code to calculate IsTrue of w.
Return b
End Operator
End Structure
这些运算符的返回值必须为True或False
有关详细信息,请参阅此页:https://msdn.microsoft.com/en-us/library/w6tz4ad8.aspx