0

私は非常に長いこのコード行を持っています、そして私はこのコードがこれから変換できるかどうか知りたいです

if(BtnInteracted == "New"){
        if(sample_1.SaveSlotNumber == "1"){
            if(){

            }
            else{

            }
        }
        else if(sample_1.SaveSlotNumber == "2"){
            if(){

            }
            else{

            }
        }
        else if(sample_1.SaveSlotNumber == "3"){
            if(){

            }
            else{

            }
        }
    }


    else if (BtnInteracted == "Con"){
        if(sample_1.SaveSlotNumber == "1"){
            if(){

            }
            else{

            }
        }
        else if(sample_1.SaveSlotNumber == "2"){
            if(){

            }
            else{

            }
        }
        else if(sample_1.SaveSlotNumber == "3"){
            if(){

            }
            else{

            }
        }
    }

これに。

switch(BtnInteracted){
    case "New": switch (sample_1.SaveSlotNumber){
                    case "1": //if() else() statement;
                    case "2": //if() else() statement;
                    case "3": //if() else() statement;
                } break;

    case "Con": switch (sample_1.SaveSlotNumber){
                    case "1": //if() else() statement;
                    case "2": //if() else() statement;
                    case "3": //if() else() statement;
                } break;
}

このコードを作成することも可能ですか、それとも私のオリジナルが私の唯一の選択肢ですか?返信ありがとうございます!

4

1 に答える 1

3

ステートメントに注意する必要がありますbreakが、それは機能します。スイッチをネストすることはできますが、個人的には、内部スイッチの方が読みやすいとは思いません。私は関数よりもパスのものを好みます:

switch(BtnInteracted)
{
    case "New": 
    {
       startFrom(sample_1.SaveSlotNumber);
       break;
    }
    case "Con": 
    {
       continueFrom(sample_1.SaveSlotNumber);
       break;
    }
}

次に、ボタンの新しいスイッチを使用します

function startFrom(index:int):void
{
  trace("start from ", index);
  switch(index)
  {
    case 1: 
    {
       // do something
       break;
    }
    case 2: 
    {
       // do something
       break;
    }
  }
}

function continueFrom(index:int):void
{
  trace("continue from", index);
  switch(index)
  {
    case 1: 
    {
       // do something
       break;
    }
    case 2: 
    {
       // do something
       break;
    }
  }
}

多くの場合、他の入力で関数が複数回必要になるため、繰り返す必要はなく、特定のケースで何が起こるかが明確になります。

于 2012-11-26T21:52:28.550 に答える