我有两个条件。
我想知道的是哪种情况属实,两者都是真/假,或只有一种是真的。
问题是如果我使用if
语句,它会增加代码量,并且它看起来不像是一个强大的解决方案。
C#中是否有任何可以一次检查和说明的条件或循环?
任何人都可以为我提供替代和清洁的解决方案吗?
情景:
string garage = getGarageCost(id)
string helmet = getHelmetCost(id)
if(garage == "")
{
string selected = "dropdown is not selected"
}
else if(Convert.ToInt32(garage) >= 1)
{
string selected = "dropdown is selected"
return selected value;
}
if(helmet == "")
{
string selected = "dropdown is not selected"
}
else if(Convert.ToInt32(helmet) >= 1)
{
string selected = "dropdown is selected"
return selected value;
}
* 编辑:*
我有2个下拉列表,如果选中,会将所选值传递给页面。
我必须检查下拉列表然后传递值,如果没有选择任何内容,那么它应该传递一个字符串“nothing selected”。
如果选中它,则应进行一些计算。
问题是我必须做5个if语句,因为有5种可能性
答案 0 :(得分:1)
switch
声明怎么样?
int garage = getGarageCost(id)
int helmet = getHelmetCost(id)
switch (garage) {
case 0:
do some alternative work;
break;
default:
everything else;
break;
}
switch (helmet) {
case 0:
do some alternative work;
break;
default:
everything else;
break;
}
pass data to view;
答案 1 :(得分:1)
如果两个“dothis”相同,那么你可以将int转换为int吗?并使用这个逻辑:
int value = getGarageCost(id) ?? getHelmetCost(id);
if (value != null)
{
dothis()
}
else
{
// nothing selected in both lists
}