2016-05-10 6 views
0

私は1つのパラメータを持っていれば私はスイッチケースを行うことができますが、私は4つあり、3つ目は変更が必要です。これをスイッチケースにする方法はありますか?

if (GetoptionsetText("lead", "capg_calculatorutilized", 126350000, service) == "Section A") 
     { 

     } 



     #region Advocacy 

     else if (GetoptionsetText("lead", "capg_calculatorutilized", 126350004, service) == "Advocacy") 
     { 

     } 
     #endregion 

     #region Partner 

     else if (GetoptionsetText("lead", "capg_calculatorutilized", 126350005, service) == "Partner") 
     { 

     } 
     #endregion 

複数のパラメータがある場合、これを行う方法を示したオンラインのものは見つかりませんでした。私の最初の考えは作成することでした

string _a = GetoptionsetText("lead", "capg_calculatorutilized", 126350004, service) 

しかし、それは動作しません、私は試してみました。私は新しいパラメータでそれぞれのGetoptionsetText関数を再作成する必要があります。だからGetoptionsetText1(,, 126350003)でしょうか?それは働くだろうか? アイデア

+2

質問を編集して不要なコードをすべて削除して、あなたが話している 'if'文だけ残すことができますか? –

+0

デバッグのヘルプ(「なぜこのコードは動作しませんか?」)には、目的の動作、特定の問題またはエラー、および質問自体に再現するのに必要な最短コードが含まれている必要があります。明確な問題文がない質問は、他の読者にとって有用ではありません。参照:最小、完全、および検証可能な例を作成する方法。 - ここに相当します。不要なものを取り出してください。 – TomTom

+0

コードが機能します。私はちょうど私が関数GetoptionsetTextに一致する約6つの文字列を持っているので、これがスイッチのケースになることができるかどうかを知りたいだけです –

答えて

2

いいえ、文字列を取得するメソッドを呼び出しています。これらのメソッド呼び出しで渡す3番目のパラメータは、それぞれ異なる場合があります。

switch文は例それぞれが

値に対して、各caseラベルが一定の値を指定つの結果を評価します。 switchステートメントは、ケースラベルがスイッチ式の値と一致するスイッチセクション(この例ではcaseSwitch)に制御を移します。

https://msdn.microsoft.com/en-GB/library/06tc147t.aspx

+0

説明していただきありがとうございます。 –

1

あなたは、そのためswitch文を使用し、最初のstringに値を取得できませんでしたか?

string value = GetoptionsetText("lead", "capg_calculatorutilized", 126350000, service); 

switch(value) 
{ 
    case "Section A": 
     // ... 
     break; 

    case "Advocacy": 
     // ... 
     break; 

    case "Partner": 
     // ... 
     break; 
} 

なぜ、タイプを表すために文字列を使用していますか?あなたがenumを使用する方が良いかもしれないように思えます。

関連する問題