¿Calcular el número de elementos verdaderos (o falsos) en una matriz bool?

Supongamos que tengo una matriz llena de valores booleanos y quiero saber cuántos de los elementos son verdaderos.

private bool[] testArray = new bool[10] { true, false, true, true, false, true, true, true, false, false };

int CalculateValues(bool val)
{
    return ???
}

CalculateValues ​​debe devolver 6 si val es verdadero o 4 si val es falso.

Solución obvia:

int CalculateValues(bool val)
{
    int count = 0;
    for(int i = 0; i<testArray.Length;i++)
    {
        if(testArray[i] == val)
            count++;
    }
    return count;
}

¿Hay una solución "elegante"?

Respuestas a la pregunta(6)

Su respuesta a la pregunta