从 VB.NET 中的函数返回布尔值的最佳方法是什么



我正在考虑两个代码。

哪一种是返回布尔值的更正确方法,为什么? 我将在 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(p.EffectiveDate > CDate("04/02/2015"), True, False)

最后,接下来是获取一个布尔值,然后将其转换为布尔值,这实际上什么都不做。

Convert.ToBoolean(If(p.EffectiveDate > CDate("04/02/2015"), True, False))

所以第一个是做一个测试,结果是一个布尔值,然后你两次将该布尔值转换为布尔值。

你想使用第二个。

它们在语法上都是正确的,但底部的可读性明显更高,避免了不必要的工作。 上层版本将布尔值(p.EffectiveDate > CDate("04/02/2015"))转换为布尔值(If语句中的TrueFalse)转换为布尔值(Convert.ToBoolean)。 额外的工作毫无意义。

最新更新