【发布时间】:2016-09-24 17:37:08
【问题描述】:
我想编写将在第一次单击时启动 rotorSpeed 秒表然后在第二次单击时将 rotorSpeed.ElapsedMilliseconds 添加到 list 的代码。在第二次单击时重置秒表并再次开始计时,然后在第三次单击时再次将 rotorSpeed.ElapsedMilliseconds 添加到 list。
代码中没有错误,但是当我调试它时,我得到了double average = list.Average();的错误
Stopwatch rotorSpeed = new Stopwatch();
List<double> list = new List<double>();
private void button1_Click(object sender, EventArgs e)
{
i++;
//Getting rotor speed
if (i != 2)
{
if (rotorSpeed.IsRunning)
{
rotorSpeed.Stop();
list.Add(rotorSpeed.ElapsedMilliseconds);
rotorSpeed.Start();
}
else
{
rotorSpeed.Reset();
rotorSpeed.Start();
}
}
double average = list.Average();
textBox2.Text = average.ToString();
}
这是我得到的错误:
在 >System.Core.dll 中发生了“System.InvalidOperationException”类型的未处理异常
附加信息:序列不包含任何元素
【问题讨论】:
-
你遇到了什么错误?
-
这可能是因为您试图在第一次单击后获得一个没有任何元素的列表的
Average。你遇到了什么异常? -
@pavnik System.Core.dll 中发生“System.InvalidOperationException”类型的未处理异常附加信息:序列不包含任何元素
-
最后两行用 if (list.Count > 1) 换行