public static bool 是否有一个为假(bool[] bl)
      {
          foreach (bool item in bl)
          {
              if (!item)
              {
                  return true;
              }
          }
          return false;
      }
      public static bool 是否有一个为真(bool[] bl)
      {
          foreach (bool item in bl)
          {
              if (item)
              {
                  return true;
              }
          }
          return false;
      }
      public static bool 是否全为真(bool[] bl)
      {
          foreach (bool item in bl)
          {
              if (!item)
              {
                  return false;
              }
          }
          return true;
      }
      public static bool 是否全为假(bool[] bl)
      {
          foreach (bool item in bl)
          {
              if (item)
              {
                  return false;
              }
          }
          return true;
      }
求简化

解决方案 »

  1.   


          int counter;
          int trueCounter;
          public static bool 为真的个数(bool[] bl)
          {
              counter = 0;
              trueCounter = 0;
              foreach (bool item in bl)
              {
                  counter ++;
                  if (item)
                  {
                      trueCounter ++;
                  }
              }
              string strResult;
              if( trueCounter == 0 )
                 strResult = "全为假";
              else if( trueCounter == 1 )
                 strResult = "有一个为真";
              else if( trueCounter == counter )
                 strResult = "全为真";
              else if( trueCounter == (counter - 1))
                 strResult = "有一个为假";
              else
                 strResult = "有真有假";
          }
      

  2.   

    public static bool 是否有一个为假(bool[] bl)
    {
        return b1.Any(x => x == false);
    }public static bool 是否有一个为真(bool[] bl)
    {
        return b1.Any(x => x == true);
    }public static bool 是否全为真(bool[] bl)
    {
        return !是否有一个为假(b1);
    }public static bool 是否全为假(bool[] bl)
    {
        return !是否有一个为真(b1);
    }
      

  3.   

    这样也是可以的。
    public static bool 是否有一个为假(bool[] bl)
    {
        return b1.Any(x => x == false);
    }public static bool 是否有一个为真(bool[] bl)
    {
        return b1.Any(x => x == true);
    }public static bool 是否全为真(bool[] bl)
    {
        return b1.All(x => x == true);
    }public static bool 是否全为假(bool[] bl)
    {
        return b1.All(x => x == false);
    }