比如 if(A||B||C||D||E||F||G)
{
  // 怎样判断 A是ture,还是B 是ture,还是C是TRUE;
}

解决方案 »

  1.   

    if(A||B||C||D||E||F||G)
    {
      if(A)
      if(B)
      if(C)
      if(D)
      if(E)
      if(F)
      ELSE
    }
      

  2.   

    if()后面括号里的内容就是默认为true的呀你不已经判断好了么
      

  3.   

    你这种用“||”判断是或的关系
    只要有一个为true都谁执行你if下面
    {}号里的内容的
      

  4.   

    真的没有办法了嘛?
      其实,if()里面还有G,H,I,J。
    好多。
      

  5.   

    LZ的需求是要找到第一个为 true 的还是要找到你的表达式中的所有 true
      

  6.   


     if(A||B||C||D||E||F||G)
    {
    bool bla=A;
    bool blb=B;
    ......
    bool blg=G;  
    }
    这样来看这几个bool的变量的量是真还是假,不就什么都清楚了吗?
      

  7.   


    可能有几个true的我是楼主
      

  8.   

    if(A)
    {
    // A is true
    }
    else if(B)
    {
    // B is true
    }
    else if (C)
    {
    // C is true
    }
    ...else if (F)
    {
    // F is true
    }else
    {
    // G is true
    }
    lz是这个意思吧,给你写好了
      

  9.   

    你这样if(A || B || C ....) 已经是最精简的了,在里面你还得根据具体的A的bool值判断,没有什么更好的方法! 楼上的方法差不多
      

  10.   

    不知道楼主想获得
    if(A||B||C||...)
    {
    ...
    }
    A/B/C ... 那些为TRUE 的目的何在?
    如果单单是为了获取变量的值,你完全可以在最后一次 赋值的地方获取啊?
    通过这个判断语句想要获得估计你不用15楼写的多次判断。难~~~
      

  11.   

    private bool GetBool(ref bool whichTrue,param bool[] someBools)
    {
        foreach(bool theTrue in someBools)
        {
            if(theTrue)
            {
                whickTrue=theTrue;
                return true;
            }
        }
        whichTrue=false;
        return false;
    }
    bool whichTrue=false;
    if(GetBool(whickTrue,A,B,C,D,E,F))
    {
        //TODO:you code
    }
      

  12.   

    foreach(bool theTrue in someBools)
        {
            if(theTrue)
            {
                whickTrue=theTrue;
                return true;
            }
        }
    }//whickTrue改为whickTrue
    PS:这种只适合有一个true,如果多个,你自己改造一下
      

  13.   

    倒,又改错了,whickTrue改成whichTrue
      

  14.   


    bool[] bs = { false, true, false, false, true };
    bool t = false;
    int ind = 0;
    for (ind; ind < bs.Length; ind++)
    if (bs[ind]) t = true;
    if (t)
    {
    //bs[ind] is true
    }
      

  15.   

    22楼好办法
      可是在我这不行
    A.B.C.D都是判断语句
      还要从A.B.C。D里面找数据。
      

  16.   

    建议用switch(){case A}  就是switch()里边的要用int 型
    代码示例:int caseSwitch = 1;switch (caseSwitch)
    {
        case 1: 
            Console.WriteLine("这是方案:Case 1");
            break;
        case 2:
            Console.WriteLine("这是方案:Case 2");
            break;
        default:
            Console.WriteLine("Default case");
            break;
    }
      

  17.   

    bool[]  boolCol={A,B,C,D,E,F};private string getBool(bool[] boolCol)
    {
       string trueStr="";
       foreach(bool ifTrue in boolCol)
       {
          if(ifTrue)
          {
             trueStr= trueStr + ifTrue.ToString()+",";
          }
       }
       return trueStr;
    }
      

  18.   

    首先说,你的问题和你的代码是2种逻辑的实现,如果有一个为true就执行的换,就没有必要去判断哪个是true,如果是根据每一项来判断操作的话,那跟你上面的if语句是2个逻辑概念,这是你程序的设计问题,跟方法无关。其次,如果你想知道一个bool数组里有哪几个为true,你可以用下面的方法:        private List<bool> GetBool( bool[] someBools)
            {
                List<bool> bArray = new List<bool>();
                foreach(bool theTrue in someBools)
                {
                    if(theTrue)
                    {
                        bArray.Add(theTrue);
                    }
                }
                return bArray;
            }
      

  19.   

    算了
      结贴吧
    IF()
    ELSE
    IF()
    ELSE
    .
    .
    .
      

  20.   

    private bool a()
    {
    if(A&&B)
    {
    console.writleln(a true!)
    }
    }
    private bool b()
    {
    if(b&&c)
    {
    console.writleln(b true!)
    }
    }
    if(a()||b())
    {
      console.writeln("一下是结果!");
    }
      

  21.   

    我最近就在为了理解if后面为什么是true而不是false时,才执行后面的语句块的问题头疼死掉了。
      

  22.   

    if(A||B||C||D||E||F||G)
    {
      // 怎样判断 A是ture,还是B 是ture,还是C是TRUE;
    cout<<"A"<<atio(A)<<"B"<<atio(B)<<"C"<<atio(C)<<"D"<<atio(D)<<"E"<<atio(E)<<"F"<<atio(F)<<"G"<<atio(G)<<endl;
    //atio(*)是0表示false,是1表示true
    }
      

  23.   


    如果A为TRUE,那么后面还执行么???
      

  24.   

    这个有问题吧?如果是好几个为true  那就只能找到第一个