我想知道是否有人有一些想法,使以下更短,更有效.我有3个下拉菜单,用户选择较低的年龄限制,年龄上限和性别.他们可以根据需要选择任意数量,甚至没有.然后我有一个if语句,它将根据他们选择的内容进行处理.假设l,u和g是传递的参数.
if((age > l && age < u && gender == g)
|| (age > l && age < u && g == null)
|| (age > l && u == null && g == null)
|| (age < u && gender == g && l == null)
|| (age < u ...etc etc)
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法形成这个而不是一个乏味的if语句?
小智 65
您可以通过为每个条件创建变量来使其更具可读性.
var lowerAgeLimitMet = (l == null || age > l);
var upperAgeLimitMet = (u == null || age < u);
var genderLimitMet = (g == null || gender == g);
if(lowerAgeLimitMet && upperAgeLimitMet && genderLimitMet)
{
//Do work here
}
Run Code Online (Sandbox Code Playgroud)
这应该工作:
if((age > l || l == null) && (age < u || u == null) && (gender == g || g == null))
...
Run Code Online (Sandbox Code Playgroud)