通过列表获取平均值

埃尔穆布

我正在尝试制作一个小的Windows窗体应用程序,该应用程序可以让您单击一个按钮,并计算您每秒单击的次数。但是我得到了不想要的结果。

标签始终为0或1。这里的工作是使用Stopwatch类作为计时器。

        public List<long> clickTimes = new List<long>();

    Stopwatch stopwatch = new Stopwatch();

    long last = 0;

    private void startCalc()
    {
        stopwatch.Start();
    }

     private void stopCalc()
    {
        stopwatch.Stop();
    }

    private void resetCalc()
    {
        stopwatch.Reset();
    }

    private long time()
    {
        return stopwatch.ElapsedMilliseconds;
    }

    private bool isOn()
    {
        return stopwatch.IsRunning;
    }

    private long frequencyFromInterval(long ms)
    {
        return 1000 / ms;
    }

    private void button1_Click(object sender, EventArgs e)
    {
        if (isOn() == false)
        {
            startCalc();
        }
        last = time() - last;
        clickTimes.Add(last);
    }

    private void button2_Click(object sender, EventArgs e)
    {
        long avg = 0;

        for (int i = 0; i < clickTimes.Count; i++)
        {
            avg = avg + clickTimes[i];
        }
        avg = avg / clickTimes.Count;
        avg = frequencyFromInterval(avg);
        label1.Text = "Avg. CpS: " + avg.ToString());
    }
德米特里(Dmitry Dovgopoly)

您的特权正在发挥作用divide它会自动将值四舍五入为整数,long因为所有操作数都是类型long,结果为long

private void button2_Click(object sender, EventArgs e)
{
    double sum = 0;
    for (int i = 0; i < clickTimes.Count; i++)
    {
        sum += clickTimes[i];
    }
    double avg = sum / clickTimes.Count;
    double frequency = FrequencyFromInterval(avg);
    label1.Text = "Avg. CpS: " + frequency.ToString());
}

private double FrequencyFromInterval(double ms)
{
    return 1000 / ms;
}

方法上也有一个小错误button1_Click查找last并添加到clickTimes列表时,可以使用不同的值您应该缓存通过time方法获得的值

long time = time();
last = time  - last;
clickTimes.Add(time);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用列表获取平均值

来自分类Dev

Ruby合并哈希列表并获取平均值

来自分类Dev

从字典列表中获取平均值

来自分类Dev

Ruby合并哈希列表并获取平均值

来自分类Dev

从数组中获取平均值

来自分类Dev

LINQ从IQueryable获取平均值

来自分类Dev

从EF获取平均值

来自分类Dev

从地图获取平均值条目

来自分类Dev

取平均值

来自分类Dev

矩阵列表上的按元素取平均值

来自分类Dev

从表中的“最后” N行获取平均值

来自分类Dev

Python:从多个文件的多个列获取平均值

来自分类Dev

从NSManagedObject请求数组获取平均值

来自分类Dev

Bash(awk)-从数字行获取平均值

来自分类Dev

从整数向量中获取平均值

来自分类Dev

从文本文件获取平均值

来自分类Dev

从多个JSON对象值获取平均值

来自分类Dev

从函数结果中获取平均值

来自分类Dev

创建Dax度量以获取平均值

来自分类Dev

SQL:使用空值获取平均值

来自分类Dev

用猫鼬查询获取平均值

来自分类Dev

SQL查询以获取平均值之和

来自分类Dev

如何从R获取平均值图

来自分类Dev

在mongodb的集合中获取平均值

来自分类Dev

MongoDB查找给定字段并获取平均值

来自分类Dev

如何获取平均值而忽略字段的某些值

来自分类Dev

使用Aggrerate从Mongo Collection获取平均值

来自分类Dev

MongoDB从每个数组元素获取平均值

来自分类Dev

根据jQuery的输入获取平均值