列表框编号,获取数字的平均值
本文关键字:数字 平均值 获取 编号 列表 | 更新日期: 2023-09-27 18:32:41
这是我的问题:
"使用记事本将以下值放在文本文件中:86、97、144、26。为了简化问题,可以将每个值放在单独的行上。 编写一个 C# 程序以从文本文件中检索值,并打印值的平均值,格式为两个小数位。
我已经让文本文件在标题为..."lstBoxNumbers"
我假设简单的方法是获取它过滤到列表框中的数字并使用 foreach 循环来计算平均值。我决定采用使用按钮单击的方式,在文本框中显示平均值。这就是我到目前为止所拥有的。
private void btnAverage_Click(object sender, EventArgs e)
{
//Shows Average Of Numbers From Text File
decimal average;
txtAverage.Text = Convert.ToString(0);
foreach (string itemInList in lstBoxNumbers.Items)
{
}
}
很简单,但我有点为帮你回答你的作业而感到难过。 将数字转换为数组或列表,然后使用 Linq 的平均值方法:
http://msdn.microsoft.com/en-us/library/system.linq.enumerable.average.aspx
试试这个:(你必须自己将类型转换为双精度,因为这是家庭作业)
List<double> newNumberList = new List<double>(); // create a new list
foreach (string itemInList in lstBoxNumbers.Items) // loop round all of your items
{
newNumberList.Add(itemInList); // You will have to convert this to a double, since this is homework you can research on how to convert types (Casting)
}
double avg = newNumberList.Average(); // Will give you the average you are looking for
请注意,提供的示例使用 LINQ。 我假设您的家庭作业将在用于计算平均值的算法上标记。 若要在不使用 LINQ 的情况下完成此操作,请在 foreach 循环中跟踪运行总计,因此对于添加的每个项目,应将其追加到该总计,然后除以列表中的项目数。
例如,如果列表中有以下项目:
- 10
- 20
- 300
- 400
您希望平均值为 182.5 (10 + 20 + 300 + 400)/列表中的 4 个项目