C# 列表的平均值

C# 列表的平均值,c#,list,stopwatch,C#,List,Stopwatch,我想制作代码,第一次单击开始rotorSpeedstopwatch,然后第二次单击添加rotorSpeed.elapsedmillesons到列表。第二次单击重置秒表并再次开始计时,然后在第三次单击时,再次将转子转速.elapsedmilloses添加到列表中。 代码中没有错误,但是当我调试它时,我在double average=list.average()上得到一个错误 秒表转子转速=新秒表(); 列表=新列表() 这是我得到的错误: >System.Core.dll中发生类型为“System

我想制作代码,第一次单击开始
rotorSpeed
stopwatch,然后第二次单击添加
rotorSpeed.elapsedmillesons
列表
。第二次单击重置秒表并再次开始计时,然后在第三次单击时,再次将
转子转速.elapsedmilloses
添加到
列表中。
代码中没有错误,但是当我调试它时,我在
double average=list.average()上得到一个错误

秒表转子转速=新秒表();
列表=新列表()

这是我得到的错误:

>System.Core.dll中发生类型为“System.InvalidOperationException”的未处理异常

附加信息:序列不包含任何元素


您的
列表
为空,因此对其调用
Average()
会引发异常。更改下面的行

double average = list.Average();


这个很好用。谢谢

您得到了什么错误?这可能是因为您试图在第一次单击后获得没有元素的列表的
平均值。您遇到的异常是什么?@pavnik System.Core.dll中出现“System.InvalidOperationException”类型的未处理异常。其他信息:序列不包含元素最后两行的if(list.Count>1)计数应大于等于1。为什么?一个元素的平均值没有任何意义。乐:除非这是文本框中需要显示的内容。在这种情况下,我想你是对的:)如果列表计数为1,文本框将不会被填充。为什么
0.0
?你认为一个人可以默默地使用零吗?另一个选项是
list.Count>0?list.Average():double.NaN
。在某种意义上,空序列的平均值可以说是
0.0/0.0
if (list.Count > 0)
{
    textBox2.Text = list.Average().ToString();
}
double average = list.Average();
double average = list.Count > 0 ? list.Average() : 0.0;
if (list.Count > 1)
{
    double average = list.Average();
    textBox2.Text = average.ToString();
    rotorSpeed.Stop();
}