2016-05-15 5 views
1

私はアプリケーションをより速くするコードを最小限にしようとしているので、同じパネル(generlpanel)を1つのケース部分に表示するすべてのカテゴリを結合しようとしましたが、 Accountingを選択すると、(generolpanel)が正常に表示され、Audio(panelforall)が表示されます。だから、それを解決するのに役立つ人もいます。||を使用して大文字小文字のステートメントに多くのパラメータを挿入する方法操作

if (Request.QueryString["cat"] != null) 
     { 
      string cat = Request.QueryString["cat"].ToString(); 
      string category = string.Empty; 
      switch (cat) 
      { 
       case "Animal Accessories || Animal care || Birds || Others animals || Cats || Cows || Dogs || Fish || Horses": 
        category = "Animal Accessories || Animal care || Birds || Others animals || Cats || Cows || Dogs || Fish || Horses"; 
        generlpanel.Visible = true; 
        break; 

       case "Accounting": 
        category = "Accounting"; 
        generlpanel.Visible = true; 
        break; 

       case "Audio": 
        category = "Audio"; 
        panelforall.Visible = true; 
        break; 

答えて

0

このようにスイッチを書きます。

Case "Animal Accessories": Case" Animal care": Case "Birds": 


        generlpanel.Visible = true; 
        break; 

    case "Accounting": 
        category = "Accounting"; 
        generlpanel.Visible = true; 
        break; 

    case "Audio": 
        category = "Audio"; 
        panelforall.Visible = true; 
        break; 

これらの例のいくつかを見てみましょう。 switch (C# Reference)

+0

しかし、この場合には、私はラインの多くの多くを持つことになりますし、それは私が速くページを作りたくないものだ、私が探しています何をしたstatmentsの他の種類を使用して、例えば任意の別の方法がありますされますために?! – Simon

+0

複数の行を読み込むために必要なリソースはごくわずかです。明らかにスクリーンの不動産から離れて、文字通り何も原価計算しません。 @ Frode Fのソリューションが1行でなければならない場合は、チェックしてください。 –

+0

@Simon、私の最近の編集を見てください。それらをすべて1行に入れることができます。それ以外の場合は、代わりにifステートメントを使用します。 –

0

ケースに複数の条件を設定することはできません。あなたは@DanCundyのような複数のcase文を書くこともできますが、ifとregexを使うこともできます。 Ex。

if (Regex.Match(cat, "Animal Accessories|Animal care|Birds|Ohers animals|Cats|Cows|Dogs|Fish|Horses", RegexOptions.IgnoreCase).Success) 
{ 
    category = cat; 
    generlpanel.Visible = true; 

} 
else if (cat.ToUpperInvariant() == "Accounting".ToUpperInvariant()) 
{ 
    category = "Accounting"; 
    generlpanel.Visible = true; 

} 
else if (cat.ToUpperInvariant() == "Audio".ToUpperInvariant()) 
{ 
    category = "Audio"; 
    panelforall.Visible = true; 

} 
関連する問題