Desvio padrão da lista genérica? [duplicado

Esta pergunta já tem uma resposta aqui:

Como determinar o desvio padrão (stddev) de um conjunto de valore 12 respostasesvio padrão no LINQ 5 respostas

Preciso calcular o desvio padrão de uma lista genérica. Vou tentar incluir meu código. É uma lista genérica com dados. Os dados são principalmente flutuadores e ints. Aqui está o meu código que é relativo a ele sem entrar em muitos detalhes:

namespace ValveTesterInterface
{
    public class ValveDataResults
    {
        private List<ValveData> m_ValveResults;

        public ValveDataResults()
        {
            if (m_ValveResults == null)
            {
                m_ValveResults = new List<ValveData>();
            }
        }

        public void AddValveData(ValveData valve)
        {
            m_ValveResults.Add(valve);
        }

Aqui está a função em que o desvio padrão precisa ser calculado:

        public float LatchStdev()
        {

            float sumOfSqrs = 0;
            float meanValue = 0;
            foreach (ValveData value in m_ValveResults)
            {
                meanValue += value.LatchTime;
            }
            meanValue = (meanValue / m_ValveResults.Count) * 0.02f;

            for (int i = 0; i <= m_ValveResults.Count; i++) 
            {   
                sumOfSqrs += Math.Pow((m_ValveResults - meanValue), 2);  
            }
            return Math.Sqrt(sumOfSqrs /(m_ValveResults.Count - 1));

        }
    }
}

Ignore o que está dentro da função LatchStdev () porque tenho certeza que não está certo. É apenas minha péssima tentativa de calcular o st dev. Eu sei como fazê-lo de uma lista de duplos, no entanto, não de uma lista de lista de dados genéricos. Se alguém tiver experiência nisso, ajude.

questionAnswers(4)

yourAnswerToTheQuestion