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();
}