如何确定数组中的一个元素是否具有属性的false值,以及所有元素是否具有使用Linq的true值

Ban*_*ane 0 c# linq

我有一个包含多个对象的数组,它们具有isClosedbool属性.我想知道如何确定:

  1. 如果所有值都为真

  2. 如果这些值中只有一个是假的

使用Linq.

Yel*_*yev 5

你可以这样解释你的问题:

我想知道如何确定:

  1. 如果计数false= 0
  2. 如果count false= 1

你可以简单地使用LINQ Count:

switch (collection.Count(x => !x.isClosed))
{
    case 0:  
        // case 1, all values are true
        break;

    case 1:
        // case 2, exactly one of these values is false
        break;

    default:
        // other cases, more than 1 false value
        break;
}
Run Code Online (Sandbox Code Playgroud)

使用这种方法,您将collection只迭代一次.