确定 List 的所有元素是真还是假

Determine if all elements of a List are true or false

我必须检查 List<bool> 的所有元素是 true 还是所有元素都是 false

List<bool> b1 = new List<bool>() { true, true, true, true }; //valid
List<bool> b2 = new List<bool>() { false, false, false, false }; //valid
List<bool> b3 = new List<bool>() { true, false, false, true }; //not valid

是否有 Linq 方法代替我当前的循环?

bool isValid = true;
for (int i = 1; i < b3.Count; i++)
{
    if (b3[i] != b3[i - 1])
        isValid = false;
}
bool result = myList.All(a => a) || myList.All(a => !a);

这应该有效