return 从 VB.NET 中的函数获取布尔值的最佳方法是什么?
Whats the best way to return a boolean from a function in VB.NET?
我正在考虑两个代码。
哪一个是 return 布尔值的更正确方法,为什么?我将在 MVC 视图中使用此功能。
Function MultiplicativeIsEffective(ByVal p As someobjectpassed) As Boolean
'1st:
Return Convert.ToBoolean(If(p.EffectiveDate > CDate("04/02/2015"), True, False))
'2nd:
Return policy.Endorsement.EffectiveDate > CDate("04/02/2015")
End Function
它们在语法上都是正确的,但底部的可读性要好得多,并且避免了不必要的工作。上层版本将布尔值 (p.EffectiveDate > CDate("04/02/2015")
) 转换为布尔值 (If
语句中的 True
或 False
) 转换为布尔值 (Convert.ToBoolean
)。额外的工作毫无意义。
它们都是正确的,因为它们 return 是正确的布尔值。
第一个只是有冗余。
p.EffectiveDate > CDate("04/02/2015")
结果为布尔值。以下不添加任何值,因为它所做的只是查看一个布尔值,然后 return 该布尔值。所以这没有做任何事情。
If(p.EffectiveDate > CDate("04/02/2015"), True, False)
最后下面是取一个boolean值然后转成boolean值,其实并没有做任何事情
Convert.ToBoolean(If(p.EffectiveDate > CDate("04/02/2015"), True, False))
所以第一个是做一个测试,结果是一个布尔值,然后你两次将该布尔值转换成一个布尔值。
您想使用第二个。
我正在考虑两个代码。
哪一个是 return 布尔值的更正确方法,为什么?我将在 MVC 视图中使用此功能。
Function MultiplicativeIsEffective(ByVal p As someobjectpassed) As Boolean
'1st:
Return Convert.ToBoolean(If(p.EffectiveDate > CDate("04/02/2015"), True, False))
'2nd:
Return policy.Endorsement.EffectiveDate > CDate("04/02/2015")
End Function
它们在语法上都是正确的,但底部的可读性要好得多,并且避免了不必要的工作。上层版本将布尔值 (p.EffectiveDate > CDate("04/02/2015")
) 转换为布尔值 (If
语句中的 True
或 False
) 转换为布尔值 (Convert.ToBoolean
)。额外的工作毫无意义。
它们都是正确的,因为它们 return 是正确的布尔值。
第一个只是有冗余。
p.EffectiveDate > CDate("04/02/2015")
结果为布尔值。以下不添加任何值,因为它所做的只是查看一个布尔值,然后 return 该布尔值。所以这没有做任何事情。
If(p.EffectiveDate > CDate("04/02/2015"), True, False)
最后下面是取一个boolean值然后转成boolean值,其实并没有做任何事情
Convert.ToBoolean(If(p.EffectiveDate > CDate("04/02/2015"), True, False))
所以第一个是做一个测试,结果是一个布尔值,然后你两次将该布尔值转换成一个布尔值。
您想使用第二个。