有如下判断:
IF(II==2||II==4||II==6){。。}
请问有无更好的写法?学习。NET不到一年,还有很多不懂要向各位高手请教。

解决方案 »

  1.   

    条件啊条件,就这么写。一次判断3条件如果你不闲麻烦,可以分成3个if写,呵呵!或者写个II的N次方,N<4,N>=1
    然后用IF
      

  2.   

    int i;
    for(i=1;i<=3;i++)
    {
      if(II==i*2)
      {
        .....
      }
    }
    这样行不。
      

  3.   

                    if (ii == 2 || ii == 3 || ii == 4 || ii == 5 || ii == 6 || ii == 8 || ii == 9 || ii == 10 || ii == 11 || ii == 12)
    该怎么办?
      

  4.   

    注明:不用 switch 方法的简化法,有?
      

  5.   

    for(int i=2;i <=12;i++) 

      if(II==i) 
      { 
        ..... 
      } 

    怎么会有这种判断的?
      

  6.   

    你要等几才行啊?
    if(ii==?)
    不就行了
      

  7.   

    if(ii>=2 && ii<=12 && ii!=7)
      

  8.   

    if(ii>=2 && ii <=12 && ii!=7)
    个人比较支持这种写法,简洁方便!
      

  9.   

    感谢大家热心,把代码贴出来,希望得到最简写法:
    Control shousuoKJ = (Control)Master.FindControl("ContentPlaceHolder1");
            int RL = Convert.ToInt16(DropDownList2.Text.Substring(0, 2))/ 6;//有字符12、24、36、48、60、72
    //以下为了控制两类控件隐、显;依据不同数字选择需要显示的和需要隐藏的,只求最简写法。
            for (int ii = 1; ii <= 12; ii++)
            {
                DropDownList DDList = (DropDownList)shousuoKJ.FindControl("DropDownList" + (ii + 7).ToString());
                Image Img = (Image)shousuoKJ.FindControl("Image" + (ii + 12).ToString());
                if (DDList != null) { DDList.Visible = false; }
                if (Img != null) { Img.Visible = false; }
                if (RL == 2 && DDList != null && Img != null) 
                {
                    if (ii == 2 || ii == 5)
                    { DDList.Visible = true; Img.Visible = true; }
                }
                if (RL == 4 && DDList != null && Img != null)
                {
                    if (ii == 2 || ii == 5 || ii == 8 || ii == 11)
                    { DDList.Visible = true; Img.Visible = true; }
                }
                if (RL == 6 && DDList != null && Img != null)
                {
                    if (ii == 2 || ii == 4 || ii == 6 || ii == 8 || ii == 10 || ii == 12) 
                    { DDList.Visible = true; Img.Visible = true; }
                }
                if (RL == 8 && DDList != null && Img != null)
                {
                    if (ii == 2 || ii == 3 || ii == 5 || ii == 6 || ii == 8 || ii == 9 || ii == 11 || ii == 12) 
                    { DDList.Visible = true; Img.Visible = true; }
                }
                if (RL == 10 && DDList != null && Img != null)
                {
                    if (ii == 2 || ii == 3 || ii == 4 || ii == 5 || ii == 6 || ii == 8 || ii == 9 || ii == 10 || ii == 11 || ii == 12)
                    { DDList.Visible = true; Img.Visible = true; }
                }
                if (RL == 12 && DDList != null && Img != null)
                { 
                    DDList.Visible = true; Img.Visible = true; 
                }
            }
      

  10.   

     这些东西找下规律就可以了,多动脑。
     
       for (int ii = 1; ii <= 12; ii++) 
            { 
                DropDownList DDList = (DropDownList)shousuoKJ.FindControl("DropDownList" + (ii + 7).ToString()); 
                Image Img = (Image)shousuoKJ.FindControl("Image" + (ii + 12).ToString()); 
                if (DDList != null) { DDList.Visible = false; } 
                if (Img != null) { Img.Visible = false; } 
                if (RL == 2 && DDList != null && Img != null) 
                { 
                    if (ii == 2 ¦ ¦ ii == 5) 
                    { DDList.Visible = true; Img.Visible = true; } 
                } 
                if (RL == 4 && DDList != null && Img != null) 
                { 
    if(ii % 3 ==2)
                    { DDList.Visible = true; Img.Visible = true; } 
                } 
                if (RL == 6 && DDList != null && Img != null) 
                { 
    if(ii % 2 ==0)
                    { DDList.Visible = true; Img.Visible = true; } 
                } 
                if (RL == 8 && DDList != null && Img != null) 
                { 
    if(ii % 3 !=1)
                    { DDList.Visible = true; Img.Visible = true; } 
                } 
                if (RL == 10 && DDList != null && Img != null) 
                { 
    if(ii !=7)
                    { DDList.Visible = true; Img.Visible = true; } 
                } 
                if (RL == 12 && DDList != null && Img != null) 
                { 
                    DDList.Visible = true; Img.Visible = true; 
                } 
            }
      

  11.   

    if(ii !=7)应改为if(ii !=7 && ii !=1)14楼的就可以了。
    14楼方法更简比9楼的,9楼的if(ii>=2 && ii <=12 && ii!=7)方法可用
    3楼方法挺特别的,不过更复杂些,是我举例不足吧。
    向各位高手学习了。谢谢!
      

  12.   

    IF(II==2 ¦ ¦II==4 ¦ ¦II==6){。。} 
    运行时会匹配每种情况,会发生重复匹配~
    lz改一种写法:把你认为最可能的情况提到前面,提高程序的'命中率':
    if (DDList == null )return;
    if (Img    == null )return;
    if (RL == 12) {DDList.Visible = true; Img.Visible = true; return;}if (ii !=2) return;//...
    //优雅的代码~
      

  13.   

    to GT7466: LZ的写法肯定还可以化简,不过个人认为在一个函数中有多个出口不是一种好的习惯。
      

  14.   

    switch(II)
       {
         case 2:
         case 3:
         case 4:
         case 5:
          {
            //处理语句
             break;
          }
       }
    也就说当是或的关系,case 语句并列写 都是处理同一个语句.
      

  15.   

    网络上查过,好像case 不可以带多个条件的啊?