Beep
Beep

Reputation: 2823

Turn if in to switch statement

could I turn this into a switch statement ?

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";
        }

Upvotes: 0

Views: 78

Answers (2)

Sudhakar Tillapudi
Sudhakar Tillapudi

Reputation: 26209

Not Possible.as switch takes Expression and executes the matching Constant Case Label.

From MSDN :Switch-Case

Each case label specifies a constant value. The switch statement transfers control to
the switch section whose case label matches the value of the switch expression

Switch(Expression)
{

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

if you want to switch with single value then it is possible

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

can be converted into switch as below:

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


case 2: //statements
break;


case 3: //statements
break;


case 4: //statements
break;


default : //statements
break;
}

Upvotes: 2

driis
driis

Reputation: 164291

No, because your are not switching on a single variable, but multiple.

I suspect your motivation to do this, is to make the code more readable ? If this is the case, you could put the common logic of your three if's into a method, to reuse the code and better convey the intent.

Upvotes: 8

Related Questions