列表框编号,获取数字的平均值

本文关键字:数字 平均值 获取 编号 列表 | 更新日期: 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 个项目