calcular o número de elementos verdadeiros (ou falsos) em uma matriz bool?

Suponha que eu tenha uma matriz preenchida com valores booleanos e quero saber quantos dos elementos são verdadeiros.

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

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

CalculateValues ​​deve retornar 6 se val for true ou 4 se val for falso.

Solução óbvia:

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

Existe uma solução "elegante"?

questionAnswers(6)

yourAnswerToTheQuestion