在VB.NET中,从函数返回布尔值的最佳方法是什么?
我有两个代码,我正在考虑 哪种方法更适合返回布尔值?为什么?我将在MVC视图中使用此函数在VB.NET中,从函数返回布尔值的最佳方法是什么?,vb.net,function,boolean,return,Vb.net,Function,Boolean,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 polic
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
它们在语法上都是正确的,但最下面的一个更具可读性,避免了不必要的工作。更高版本将If语句中的布尔值p.EffectiveDate>CDate04/02/2015转换为布尔值True或False,再转换为布尔值Convert.ToBoolean。额外的工作是没有意义的。它们都是正确的,因为它们返回了正确的布尔值 第一个只是有冗余
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))
最后,下面是获取一个布尔值,然后将其转换为一个布尔值,这实际上什么都不做
If(p.EffectiveDate > CDate("04/02/2015"), True, False)
Convert.ToBoolean(If(p.EffectiveDate > CDate("04/02/2015"), True, False))
第一个是做一个测试,得到一个布尔值,然后你两次把这个布尔值转换成布尔值
你想使用第二个。
侧方:考虑使用日期文字语法4/2/2015或更好的是,新的DATIEME2015,4, 2而不是转换字符串文字。要考虑的是:乘法是否有效地是某个对象通过的类本身的一部分?它也可以是只读属性而不是函数。谢谢您的明确解释。