C# 列表框数字,获取数字的平均值

C# 列表框数字,获取数字的平均值,c#,listbox,streamreader,C#,Listbox,Streamreader,我的问题是: “使用记事本在文本文件中放置以下值:86、97、144、26。为了简化问题,可以将每个值放置在单独的行中。编写C#程序从文本文件中检索值,并打印值的平均值,格式为小数点后两位。” 我已经让文本文件在名为“lstBoxNumbers”的列表框中显示四个数字的列表 我假设简单的方法是将它过滤到列表框中的数字,并使用foreach循环来计算平均值。我决定使用单击按钮的方法,在文本框中显示平均值。这就是我目前为止所做的 private void btnAverage_Click(objec

我的问题是:

“使用记事本在文本文件中放置以下值: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)
    {

    }
}
试试这个:(因为这是家庭作业,所以你必须自己将类型转换为双精度)

List newNumberList=newlist();//创建一个新列表
foreach(string itemInList in lstBoxNumbers.Items)//循环所有项目
{
newNumberList.Add(itemInList);//您必须将其转换为double,因为这是您可以研究如何转换类型(强制转换)的家庭作业
}   
double avg=newNumberList.Average();//将给出您要查找的平均值
请注意,提供的示例使用LINQ。我假设您的作业将标记在用于计算平均值的算法上。要在不使用LINQ的情况下完成此操作,在foreach循环中,您希望跟踪正在运行的总数,因此对于您添加的每一项,您应该将其附加到该总数,然后除以列表中的项数

例如,如果列表中有以下项目:

  • 十,
  • 二十
  • 三百
  • 四百
您希望列表中的平均值为182.5(10+20+300+400)/4项试试这个:(您必须自己将类型转换为双倍,因为这是家庭作业)

List newNumberList=newlist();//创建一个新列表
foreach(string itemInList in lstBoxNumbers.Items)//循环所有项目
{
newNumberList.Add(itemInList);//您必须将其转换为double,因为这是您可以研究如何转换类型(强制转换)的家庭作业
}   
double avg=newNumberList.Average();//将给出您要查找的平均值
请注意,提供的示例使用LINQ。我假设您的作业将标记在用于计算平均值的算法上。要在不使用LINQ的情况下完成此操作,在foreach循环中,您希望跟踪正在运行的总数,因此对于您添加的每一项,您应该将其附加到该总数,然后除以列表中的项数

例如,如果列表中有以下项目:

  • 十,
  • 二十
  • 三百
  • 四百

你可能希望列表中的平均值为182.5(10+20+300+400)/4项

很简单,但我觉得为你回答家庭作业有点糟糕。将数字转换为数组或列表,然后利用Linq的平均方法:


简单,但我有点为你回答家庭作业感到难过。将数字转换为数组或列表,然后使用Linq的平均方法:


请不要在标题前面加上“C#”之类的前缀。这就是标签的作用。请不要在标题前面加上“C#”之类的前缀。这就是标签的作用。
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