我需要找到列表框中输入的成绩的平均值请帮助! [英] I need to find the average of the grades that are entered in the listbox PLEASE HELP!
本文介绍了我需要找到列表框中输入的成绩的平均值请帮助!的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace FindAverage
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int grade, average;
private void button2_Click(object sender, EventArgs e)
{
grade = Int32.Parse(textBox1.Text);
LstGrades.Items.Add(grade);
}
private void button1_Click(object sender, EventArgs e)
{
average = LstGrades.Items. / LstGrades.Items.Count;
}
}
}
推荐答案
有几种方法可以做到这一点,但是最简单的就是使用foreach循环:
There are a couple of ways to do this, but the simplest is just to use a foreach loop:
int total = 0;
foreach (object o in LstGrades.Items)
{
total += (int) o;
}
然后除以计数得到平均值。
And then divide by the count to get the average.
你可以使用LINQ
You can use LINQ
var sum = LstGrades.Items.Cast<int>().Sum();
average = sum / LstGrades.Items.Count;
或简单循环
or simple loop
int sum = 0;
foreach (var item in LstGrades.Items)
{
int result;
if(int.TryParse(item.ToString(), out result))
sum += result;
}
average = sum / LstGrades.Items.Count;
这个怎么样?
What about this?
var sum = 0;
for(var count = 0; count < LstGrades.Items.Count; count++)
{
sum += int.Parse(LstGrades.Items[count].ToString());
}
var average = sum / LstGrades.Items.Count;
这篇关于我需要找到列表框中输入的成绩的平均值请帮助!的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文