转入if切换语句

时间:2013-12-01 15:30:58

标签: c# switch-statement

我可以把它变成一个switch语句吗?

if (donation_euro.Text.Trim().Equals(""))
        {
            donation_euro.Text = "00.00";
        }
        if (donation_lui.Text.Trim().Equals(""))
        {
            donation_lui.Text = "00.00";
        }
        if (donation.Text.Trim().Equals(""))
        {
            donation.Text = "00.00";
        }

2 个答案:

答案 0 :(得分:8)

不,因为你没有打开一个变量,而是多个。

我怀疑你这样做的动机是让代码更具可读性吗?如果是这种情况,您可以将三个if的通用逻辑放入方法中,以重用代码并更好地传达意图。

答案 1 :(得分:2)

不可能 .as switch执行Expression并执行匹配的Constant Case Label

来自MSDN:Switch-Case

  

每个案例标签指定一个常量值。切换声明   将控制转移到
  案例标签匹配的开关部分   switch表达式的值

Switch(Expression)
{

case constant1://statements
             break;
case constant2://statements
             break;
case constant3://statements
             break;
}

如果你想用单个值切换那么就可以

    int a = 3;    
    if (a == 1)
    {
        //statements
    }
    else if(a == 2)
    {
        //statements
    }
    else if(a == 3)
    {
       //statements
    }
    else if(a == 4)
    {
       //statements
    }
    else
    {
       //statements
    }

可以转换为开关,如下所示:

int a = 3; 
switch(a)
{
case 1: //statements
break;


case 2: //statements
break;


case 3: //statements
break;


case 4: //statements
break;


default : //statements
break;
}