C# 列表框数字,获取数字的平均值
我的问题是: “使用记事本在文本文件中放置以下值:86、97、144、26。为了简化问题,可以将每个值放置在单独的行中。编写C#程序从文本文件中检索值,并打印值的平均值,格式为小数点后两位。” 我已经让文本文件在名为“lstBoxNumbers”的列表框中显示四个数字的列表 我假设简单的方法是将它过滤到列表框中的数字,并使用foreach循环来计算平均值。我决定使用单击按钮的方法,在文本框中显示平均值。这就是我目前为止所做的C# 列表框数字,获取数字的平均值,c#,listbox,streamreader,C#,Listbox,Streamreader,我的问题是: “使用记事本在文本文件中放置以下值:86、97、144、26。为了简化问题,可以将每个值放置在单独的行中。编写C#程序从文本文件中检索值,并打印值的平均值,格式为小数点后两位。” 我已经让文本文件在名为“lstBoxNumbers”的列表框中显示四个数字的列表 我假设简单的方法是将它过滤到列表框中的数字,并使用foreach循环来计算平均值。我决定使用单击按钮的方法,在文本框中显示平均值。这就是我目前为止所做的 private void btnAverage_Click(objec
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循环中,您希望跟踪正在运行的总数,因此对于您添加的每一项,您应该将其附加到该总数,然后除以列表中的项数
例如,如果列表中有以下项目:
- 十,
- 二十
- 三百
- 四百
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