这是我的代码,我想通过四个参数确定我查找的表的表号,一共有99张表,这里只显示了14张,如果全用if-else语句真的太丑了,一定有更好的办法吧?求告知(最好能写个大概),谢谢大佬们啦!!!
public int SelectTableNumber(double para1,double para2,double para3,double para4,double para5)
{
try
{
if (para1 == 150 && para2 == 180 && para3 == 3 && ((para4 / para5) == 0.75))
{
return 1;
}
else if (para1 == 150 && para2 == 180 && para3 == 5 && ((para4 / para5) == 0.75))
{
return 2;
}
else if (para1 == 150 && para2 == 240 && para3 == 3 && ((para4 / para5) == 0.75))
{
return 3;
}
else if (para1 == 150 && para2 == 240 && para3 == 5 && ((para4 / para5) == 0.75))
{
return 4;
}
else if (para1 == 150 && para2 == 270 && para3 == 1 && ((para4 / para5) == 0.5))
{
return 5;
}
else if (para1 == 150 && para2 == 270 && para3 == 3 && ((para4 / para5) == 0.5))
{
return 6;
}
else if (para1 == 150 && para2 == 270 && para3 == 5 && ((para4 / para5) == 0.5))
{
return 7;
}
else if (para1 == 150 && para2 == 270 && para3 == 1 && ((para4 / para5) == 0.75))
{
return 8;
}
else if (para1 == 150 && para2 == 270 && para3 == 3 && ((para4 / para5) == 0.75))
{
return 9;
}
else if (para1 == 150 && para2 == 270 && para3 == 5 && ((para4 / para5) == 0.75))
{
return 10;
}
else if (para1 == 150 && para2 == 270 && para3 == 1 && ((para4 / para5) == 1))
{
return 11;
}
else if (para1 == 150 && para2 == 270 && para3 == 3 && ((para4 / para5) == 1))
{
return 12;
}
else if (para1 == 150 && para2 == 270 && para3 == 5 && ((para4 / para5) == 1))
{
return 13;
}
else if (para1 == 150 && para2 == 300 && para3 == 3 && ((para4 / para5) == 0.75))
{
return 14;
}
}
catch
{
Console.WriteLine("表中不包含此项");
}
return 0;
}
如果可以把数据存到数据库,读出的数据时直接用数据匹配即可
如果可以把数据存到文本文件里,用文本文件所在的行来当做return值
// 以文本文件举例
150,180,3,0.75 // return 1
150,180,5,0.75 // 因为是第二行,所以return 2
150,240,3,0.75 // 将文本文件读到数组中
150,240,5,0.75 // 一行为一个元素,循环一下
150,270,1,0.5 // 然后切割元素,转数据类型与para参数们比较
// 如果不想用行号,可以直接将返回值也放到文本里
1,150,180,3,0.75 // return 1
2,150,180,5,0.75 // 因为是第二行,所以return 2
3,150,240,3,0.75 // 将文本文件读到数组中
4,150,240,5,0.75 // 一行为一个元素,循环一下
5,150,270,1,0.5 // 然后切割元素,转数据类型与para参数们比较
// 如果是一定要用if,可以换swith,虽然分支一样多,但可以少写不少字符
swith(para1){
case 150:
swith(para2){
case 180:
swith(para3){
.....
}
break;
}
break;
case 190:
break;
default:
throw new Exception("");
}
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632